1 2013-04-12 Ed Schonberg <schonberg@adacore.com>
3 * s-rident.ads: Add various missing Ada 2012 restrictions:
4 No_Access_Parameter_Allocators, No_Coextensions,
5 No_Use_Of_Attribute, No_Use_Of_Pragma.
6 * snames.ads-tmpl: Add corresponding names.
7 * restrict.ads restrict.adb: Subprograms and data structures to
8 handle aspects No_Use_Of_Attribute and No_Use_Of_Pragma.
9 * sem_ch4.adb: Correct name of restrictions is
10 No_Standard_Allocators_After_Elaboration.
11 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Check
12 violation of restriction No_Use_Of_Attribute.
13 * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
14 Set restrictions No_Use_Of_Pragma and No_Use_Of_Attribute.
15 (Analyze_Pragma): Check violation of restriction No_Use_Of_Pragma.
16 * sem_res.adb: Check restrictions No_Access_Parameter_Allocators
18 * bcheck.adb: Correct name of restrictions is
19 No_Standard_Allocators_After_Elaboration.
20 * gnatbind.adb: Correct name of restrictions is
21 No_Standard_Allocators_After_Elaboration.
23 2013-04-12 Hristian Kirtchev <kirtchev@adacore.com>
25 * sem_prag.adb (Analyze_Pragma, (Check_Mode_Restriction_In_Function):
26 Correct error message format.
28 2013-04-12 Robert Dewar <dewar@adacore.com>
30 * sem_attr.adb: Minor reformatting.
32 2013-04-12 Ed Schonberg <schonberg@adacore.com>
34 * sem_elab.adb (Within_Elaborate_All): Do not examine a context
35 item that has not been analyzed, because the unit may have errors,
36 or the context item may come from a proper unit inserted at the
37 point of a stub and not analyzed yet.
39 2013-04-12 Thomas Quinot <quinot@adacore.com>
41 * gnat1drv.adb, repinfo.adb, repinfo.ads (Repinfo.List_Array_Info,
42 List_Record_Info): Also include scalar storage order information in
45 2013-04-12 Yannick Moy <moy@adacore.com>
47 * sem_ch6.adb (Process_Contract_Cases): Update code to apply to
48 Contract_Cases instead of Contract_Case pragma.
50 2013-04-12 Robert Dewar <dewar@adacore.com>
52 * a-cfdlli.ads, g-socket.adb, s-fileio.adb: Minor reformatting.
54 2013-04-12 Yannick Moy <moy@adacore.com>
56 * sem_attr.adb (Analyze_Attribute): Update analyse of
57 Attribute_Old and Attribute_Result so they are allowed in the
58 right-hand-side of an association in a Contract_Cases pragma.
59 * sem_prag.adb (Analyze_CTC_In_Decl_Part): Add pre-analysis of
60 the expressions in a Contract_Cases pragma.
62 2013-04-12 Robert Dewar <dewar@adacore.com>
64 * sem.ads, opt.ads: Minor comment edits.
65 * sem_warn.adb, sem_ch6.adb: Minor reformatting.
67 2013-04-12 Claire Dross <dross@adacore.com>
69 * a-cfdlli.adb a-cfdlli.ads (List, Not_No_Element, Iterate,
70 Reverse_Iterate, Query_Element, Update_Element, Read, Write): Removed,
71 not suitable for formal analysis.
73 2013-04-12 Ed Schonberg <schonberg@adacore.com>
75 * sem_prag.adb (Analyze_Abstract_State): Use Defining entity
76 to locate package entity, which may be a child unit.
78 2013-04-12 Thomas Quinot <quinot@adacore.com>
80 * g-socket.adb, g-socket.ads (Connect_Socket, version with timeout): If
81 the specified timeout is 0, do not attempt to determine whether the
84 2013-04-12 Doug Rupp <rupp@adacore.com>
86 * s-fileio.adb (Form_RMS Context_Key): Fix some thinkos.
88 2013-04-12 Doug Rupp <rupp@adacore.com>
90 * s-fileio.adb: Minor reformatting.
92 2013-04-12 Ed Schonberg <schonberg@adacore.com>
94 * sem_warn.adb (Check_Infinite_Loop_Warning): Do not warn if
95 the last statement in the analyzed loop is an unconditional
98 2013-04-12 Robert Dewar <dewar@adacore.com>
100 * opt.ads (Style_Check_Main): New switch.
101 * sem.adb (Semantics): Set Style_Check flag properly for new
103 * sem_ch10.adb (Analyze_With_Clause): Don't reset Style_Check,
104 the proper setting of this flag is now part of the Semantics
106 * switch-c.adb (Scan_Front_End_Switches): Set Style_Check_Main
107 for -gnatg and -gnaty
109 2013-04-12 Doug Rupp <rupp@adacore.com>
111 * s-crtl.ads (fopen, freopen): Add vms_form parameter
112 * i-cstrea.ads (fopen, freopen): Likewise.
113 * adaint.h (__gnat_fopen, __gnat_freopen): Likewise.
114 * adaint.c (__gnat_fopen, __gnat_freopen): Likewise.
115 [VMS]: Split out RMS keys and call CRTL function appropriately.
116 * s-fileio.adb (Form_VMS_RMS_Keys, Form_RMS_Context_Key): New
118 (Open, Reset): Call Form_VMS_RMS_Keys. Call fopen,freopen with
120 * gnat_rm.texi: Document implemented RMS keys.
122 2013-04-12 Hristian Kirtchev <kirtchev@adacore.com>
124 * sem_ch13.adb (Analyze_Aspect_Specifications):
125 Insert the corresponding pragma for aspect Abstract_State at
126 the top of the visible declarations of the related package.
127 Previously this was only done when the package is a compilation
130 2013-04-12 Arnaud Charlet <charlet@adacore.com>
132 * gnat_ugn.texi: Further menu clean ups.
133 * sem_prag.adb, opt.ads: Minor reformatting.
134 * sem_util.ads: Minor comment fix.
136 2013-04-12 Hristian Kirtchev <kirtchev@adacore.com>
138 * sem_ch13.adb (Analyze_Aspect_Specifications): Aspect
139 Depends is now a delayed aspect. The delay is required
140 due to the interplay between aspects Depends and Global.
141 (Check_Aspect_At_Freeze_Point): Add an entry for aspect Depends.
142 * sem_prag.adb: Reformat various error messages.
143 (Add_Item): New subsidiary routine.
144 (Analyze_Pragma): Add new variables
145 Global_Seen, Result_Seen, Subp_Inputs and Subp_Outputs. The
146 analysis of pragma Depends now has the capability to check
147 the proper mode and usage of subprogram inputs and outputs.
148 (Appears_In): New routine.
149 (Check_Function_Return): New routine.
150 (Check_Mode): New routine.
151 (Check_Usage): New routine.
152 (Collect_Subprogram_Inputs_Outputs): New routine.
154 2013-04-12 Bob Duff <duff@adacore.com>
156 * par-ch7.adb (P_Package): Initialize Sloc in the newly-pushed scope
159 2013-04-12 Robert Dewar <dewar@adacore.com>
161 * switch-c.adb: Minor fix to wording of error message for
164 2013-04-12 Robert Dewar <dewar@adacore.com>
166 * impunit.adb: Add s-multip and s-mudido to list of impl defined
168 * gnat_rm.texi: Add documentation for
169 System.Multiprocessors[.Dispatching_Domains].
171 2013-04-12 Ben Brosgol <brosgol@adacore.com>
173 * gnat_ugn.texi: Completion of menu cleanups.
175 2013-04-12 Arnaud Charlet <charlet@adacore.com>
177 * sem_prag.adb (Diagnose_Multiple_Pragmas): Relax the rules
178 in Relaxed_RM_Semantics.
180 2013-04-12 Arnaud Charlet <charlet@adacore.com>
182 * set_targ.adb (elab code): Add support for non gcc back-ends
183 where save_argv is null.
185 2013-04-12 Robert Dewar <dewar@adacore.com>
187 * gnat1drv.adb (Gnat1drv): Test Target_Dependent_Info_Write_Name.
188 * opt.ads (Target_Dependent_Info_Read): Add _Name, now an access
189 type (Target_Dependent_Info_Write): Add _Name, now an access type.
190 * set_targ.adb (Write_Target_Dependent_Values): Use name
191 from -gnatet switch stored in Target_Dependent_Info_Write_Name
192 (Read_Target_Dependent_Values): Use name from -gnateT switch
193 stored in Target_Dependent_Info_Read_Name.
194 * switch-c.adb: New form of -gnatet and -gnateT switches.
195 * usage.adb: New form of -gnatet and -gnateT switches with
198 2013-04-11 Eric Botcazou <ebotcazou@adacore.com>
200 * gcc-interface/decl.c (elaborate_expression_1): Skip only constant
201 arithmetics when looking for a read-only variable in the expression.
203 2013-04-11 Javier Miranda <miranda@adacore.com>
205 * check.ads, exp_ch6.adb (Install_Null_Excluding_Check): No check in
206 interface thunks since it is performed at the caller side.
207 (Expand_Simple_Function_Return): No accessibility check needed in thunks
208 since the check is done by the target routine.
210 2013-04-11 Ed Schonberg <schonberg@adacore.com>
212 * sem_prag.adb (Analyze_Pragma, case Priority): pre-analyze
213 expression with type Any_Priority.
214 * exp_ch9.adb (Initialize_Protection): Check that the value
215 of the priority expression is within the bounds of the proper
218 2013-04-11 Robert Dewar <dewar@adacore.com>
220 * sem_prag.adb, prj-env.adb: Minor reformatting.
222 2013-04-11 Ben Brosgol <brosgol@adacore.com>
224 * gnat_ugn.texi: Clean ups.
226 2013-04-11 Yannick Moy <moy@adacore.com>
228 * set_targ.adb: Minor comment update.
230 2013-04-11 Pascal Obry <obry@adacore.com>
232 * gnat_ugn.texi: Remove obsolete comment about DLL calling
235 2013-04-11 Javier Miranda <miranda@adacore.com>
237 * exp_ch6.adb (Expand_Call): For the call to the target primitive
238 of an interface thunks do not compute the extra actuals; just
239 propagate the extra actuals received by the thunk.
240 * exp_disp.adb (Expand_Interface_Thunk): Decorate new attribute
242 * sem_ch6.adb (Create_Extra_Formals): Do not generate extra
243 formals in interface thunks whose target primitive has no extra
246 2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
248 * sem_prag.adb (Analyze_Pragma): Detect
249 a renaming by looking at the Renamed_Object attribute.
250 (Is_Renaming): Removed.
252 2013-04-11 Vincent Celier <celier@adacore.com>
254 * prj-env.adb (Initialize_Default_Project_Path): Take
255 into account a project path file, specified by environment
256 variable GPR_PROJECT_PATH_FILE, before taking into account
258 * projects.texi: Add documentation for GPR_PROJECT_PATH_FILE
260 2013-04-11 Ed Schonberg <schonberg@adacore.com>
262 * a-cdlili.adb, a-cdlili.ads, a-cihama.adb, a-cihama.ads, a-coinve.adb,
263 a-coinve.ads, a-ciorse.adb, a-ciorse.ads, a-coorma.adb, a-coorma.ads,
264 a-cfdlli.adb, a-cfdlli.ads, a-cborma.adb, a-cborma.ads, a-cidlli.adb,
265 a-cidlli.ads, a-ciormu.adb, a-ciormu.ads, a-cihase.adb, a-cihase.ads,
266 a-cohama.adb, a-cohama.ads, a-coorse.adb, a-coorse.ads, a-cbhama.adb,
267 a-cbhama.ads, a-cborse.adb, a-cborse.ads, a-ciorma.adb, a-cobove.adb,
268 a-ciorma.ads, a-cobove.ads, a-coormu.adb, a-coormu.ads, a-cohase.adb,
269 a-cohase.ads, a-cbdlli.adb, a-cbdlli.ads, a-cbhase.adb, a-cbhase.ads:
270 Move Iterator operations from body to private part of spec.
272 2013-04-11 Eric Botcazou <ebotcazou@adacore.com>
274 * ttypes.ads, get_targ.ads: More minor rewording of comments.
276 2013-04-11 Johannes Kanig <kanig@adacore.com>
278 * debug.adb: Document use of switch -gnatd.Z.
280 2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
282 * sem_prag.adb (Analyze_Pragma): Both pragma Depends and Global can now
283 support renamings of entire objects. Legal renamings are replaced by
284 the object they rename.
285 (Is_Renaming): New routine.
287 2013-04-11 Yannick Moy <moy@adacore.com>
289 * set_targ.adb, opt.ads: Minor changes in comments.
291 2013-04-11 Ben Brosgol <brosgol@adacore.com>
293 * gnat_ugn.texi: Minor clean ups.
295 2013-04-11 Robert Dewar <dewar@adacore.com>
297 * nlists.ads, nlists.adb, treepr.adb, treepr.ads: Move debugging
298 function p from Nlists to Treepr.
300 2013-04-11 Ed Schonberg <schonberg@adacore.com>
302 * sem_disp.adb (Check_Dispatching_Context): If the context is
303 a contract for a null procedure defer error reporting until
304 postcondition body is created.
305 * exp_ch13.adb (Expand_N_Freeze_Entity): If the entity is a
306 null procedure, complete the analysis of its contracts so that
307 calls within classwide conditions are properly rewritten as
310 2013-04-11 Thomas Quinot <quinot@adacore.com>
312 * sem_ch10.adb, sem_ch12.adb: Minor reformatting.
314 2013-04-11 Robert Dewar <dewar@adacore.com>
316 * exp_attr.adb, sem_res.adb, sem_attr.adb: Minor reformatting.
318 2013-04-11 Robert Dewar <dewar@adacore.com>
320 * atree.adb, atree.ads (Node31): New function.
321 (Set_Node31): New procedure.
323 2013-04-11 Robert Dewar <dewar@adacore.com>
325 * errout.ads: Minor typo correction.
327 2013-04-11 Javier Miranda <miranda@adacore.com>
329 * einfo.ad[sb] (Thunk_Entity/Set_Thunk_Entity): New attribute.
331 2013-04-11 Robert Dewar <dewar@adacore.com>
333 * back_end.adb (Register_Back_End_Types): Moved to Get_Targ
334 * back_end.ads (C_String): Moved to Get_Targ
335 (Register_Type_Proc): Moved to Get_Targ (Register_Back_End_Types):
337 * cstand.adb (Register_Float_Type): New interface
338 (Create_Back_End_Float_Types): Use entries in FPT_Mode_Table.
339 * get_targ.adb (Register_Back_End_Types): Moved here from
341 * get_targ.ads (C_String): Moved here from Back_End
342 (Register_Type_Proc): Moved here from Back_End
343 (Register_Back_End_Types): here from Back_End.
344 * gnat1drv.adb (GGnat11drv): Add call to
345 Write_Target_Dependent_Values;
346 * lib-writ.ads, lib-writ.adb (Write_ALI): Remove section writing
347 obsolete target dependent info.
348 * opt.ads (Generate_Target_Dependent_Info):
349 Removed (Target_Dependent_Info_Read): New flag
350 (Target_Dependent_Info_Write): New flag
351 * output.adb: Minor comment change
352 * s-os_lib.ads: Minor reformatting
353 * set_targ.ads, set_targ.adb: Minor reformatting.
354 * switch-c.adb (Scan_Switches.First_Ptr): New variable
355 (Scan_Front_End_Switches): Check -gnatd.b, -gnateT come first
356 (Scan_Front_End_Switches): Handle -gnatet, -gnateT
357 * ttypes.ads: Remove documentation section on target dependent
358 info in ali file Remove four letter codes, no longer used Instead
359 of using Get_Targ.Get_xxx, we use Set_Targ.xxx
360 * usage.adb: Add usage lines for -gnatet/-gnateT
361 * gcc-interface/Make-lang.in: Update dependencies.
363 2013-04-11 Thomas Quinot <quinot@adacore.com>
365 * sem_ch4.adb: Update documentation.
366 * sinfo.ads (N_Expression_With_Actions): Ditto.
368 2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
370 * sem_ch13.adb (Analyze_Aspect_Specifications):
371 Add a guard to prevent the double insertion of the same aspect
372 into a rep item list. This previously led to a circularity.
374 2013-04-11 Ed Schonberg <schonberg@adacore.com>
376 * sem_attr.adb (Eval_Attribute, case 'Access): Reject attribute
377 reference if the prefix is the dereference of an anonymous access
379 * exp_attr.adb (Expand_N_Attribute_Reference, Access_Cases): Handle
380 properly a reference to the current instance of a protected type
381 from within a protected subprogram.
382 * sem_res.adb (Find_Unique_Access_Type): Treat
383 Attribute_Access_Type like Allocator_Type when resolving an
386 2013-04-11 Arnaud Charlet <charlet@adacore.com>
388 * xgnatugn.adb: Remove obsolete comments.
390 2013-04-11 Robert Dewar <dewar@adacore.com>
392 * back_end.ads, back_end.adb: Minor reformatting.
393 * set_targ.ads, set_targ.adb: New files.
395 2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
397 * sem_case.adb (Check_Against_Predicate): New routine.
398 (Check_Choices): When the type covered by the list of choices
399 is a static subtype with a static predicate, check all choices
400 agains the predicate.
401 (Issue_Msg): All versions removed.
402 (Missing_Choice): New routines.
403 * sem_ch4.adb: Code and comment reformatting.
404 (Analyze_Case_Expression): Do not check the choices when the case
405 expression is being preanalyzed and the type of the expression
406 is a subtype with a static predicate.
407 (Has_Static_Predicate): New routine.
408 * sem_ch13.adb: Code and comment reformatting. (Build_Range):
409 Always build a range even if the low and hi bounds denote the
410 same value. This is needed by the machinery in Check_Choices.
411 (Build_Static_Predicate): Always build a range even if the low and
412 hi bounds denote the same value. This is needed by the machinery
415 2013-04-11 Robert Dewar <dewar@adacore.com>
417 * einfo.ads, sem_util.adb, exp_ch6.adb, xgnatugn.adb: Minor
420 2013-04-11 Doug Rupp <rupp@adacore.com>
422 * gnatlink.adb: Fold program basename to lower case on VMS for
425 2013-04-11 Matthew Heaney <heaney@adacore.com>
427 * a-rbtgbo.adb (Generic_Equal): Initialize Result variable before
430 2013-04-11 Arnaud Charlet <charlet@adacore.com>
432 * xgnatugn.adb: Remove dead code (handling of @ifset/@ifclear).
434 2013-04-11 Arnaud Charlet <charlet@adacore.com>
436 * gnat_ugn.texi: Remove some use of ifset in menus. Not strictly
437 needed, and seems to confuse some versions of makeinfo.
439 2013-04-11 Javier Miranda <miranda@adacore.com>
441 * einfo.adb (Is_Thunk): Remove assertion.
442 (Set_Is_Thunk): Add assertion.
443 * einfo.ads (Is_Thunk): Complete documentation.
444 * exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Code cleanup.
445 * exp_ch3.ad[sb] (Is_Variable_Size_Array): Moved to sem_util
446 (Is_Variable_Size_Record): Moved to sem_util
447 * exp_ch6.adb (Expand_Call): Code cleanup.
448 (Expand_N_Extended_Return_Statement): Code cleanup.
449 (Expand_Simple_Function_Return): Code cleanup.
450 * exp_disp.adb Remove dependency on exp_ch3
451 (Expand_Interface_Thunk): Add minimum decoration needed to set
453 * sem_ch3.ad[sb] (Is_Constant_Bound): moved to sem_util
454 * sem_util.ad[sb] (Is_Constant_Bound): Moved from
455 sem_ch3 (Is_Variable_Size_Array): Moved from exp_ch3
456 (Is_Variable_Size_Record): Moved from exp_ch3
458 2013-04-11 Javier Miranda <miranda@adacore.com>
460 * exp_ch11.adb (Expand_N_Handled_Sequence_Of_Statements): Do
461 not add cleanup actions in thunks associated with interface types.
462 * exp_ch3.ad[sb] (Is_Variable_Size_Record): Move declaration to
464 * exp_ch4.adb (Tagged_Conversion): Update call to
465 Expand_Interface_Conversion since the parameter Is_Static is no
467 * exp_ch6.adb (Expand_N_Extended_Return_Statement): Adding
468 assertion to ensure that interface thunks are never handled by
470 (Expand_N_Simple_Function_Return): Do not rewrite this statement
471 as an extended return statement in interface thunks, and do not
472 perform copy in the secondary stack if the return statement is
474 * exp_disp.adb (Expand_Dispatching_Call): No longer displace
475 the pointer to the returned object in functions returning interface
477 (Expand_Interface_Thunk): For functions returning interface types
478 displace the pointer to the returned object.
479 (Expand_Interface_Conversion): Remove formal
480 Is_Static since this subprogram can now evaluate it locally.
481 * sem_ch3.adb (Add_Internal_Interface_Entities): For functions
482 propagate the type returned by the covered interface primitive to
483 the internal interface entity. Needed by the thunk to generate
484 the code which displaces "this" to reference the corresponding
485 secondary dispatch table.
486 * sem_disp.adb (Propagate_Tag): Update call to
487 Expand_Interface_Conversion since the parameter Is_Static is no
489 * sem_res.adb (Resolve_Type_Conversion): Update calls to
490 Expand_Interface_Conversion since the parameter Is_Static is no
491 longer needed plus code cleanup.
493 2013-04-11 Eric Botcazou <ebotcazou@adacore.com>
495 * init.c (RETURN_ADDR_OFFSET): Delete as unused.
497 2013-04-11 Robert Dewar <dewar@adacore.com>
499 * a-crbtgk.adb, a-ciorse.adb, a-crbtgo.adb, a-coorse.adb, a-rbtgbo.adb,
500 a-cborse.adb, a-rbtgso.adb, exp_ch3.adb: Minor reformatting.
502 2013-04-11 Yannick Moy <moy@adacore.com>
504 * exp_ch4.adb (Expand_N_Selected_Component): Do not expand
505 discriminant check for Unchecked_Union.
506 * sem_res.adb (Resolve_Selected_Component): Set flag
507 Do_Discriminant_Check even when expansion is not performed.
508 * sinfo.ads (Do_Discriminant_Check): Update documentation for the case
511 2013-04-11 Thomas Quinot <quinot@adacore.com>
513 * sem_ch13.adb (Same_Representation): Two types with different scalar
514 storage order never have the same representation.
516 2013-04-11 Arnaud Charlet <charlet@adacore.com>
518 * xgnatugn.adb (Push_Conditional): Simplify handling,
519 no longer need to keep track of "excluding" sections.
520 (Currently_Excluding): Removed.
521 (Process_Source_File):
522 Set unw/vms flag so that texinfo can do the whole handling of
523 @ifset/@ifclear sections. Fix handling of nested @ifset/@ifclear
525 * gnat_ugn.texi: Add a section on performing unassisted install
528 2013-04-11 Johannes Kanig <kanig@adacore.com>
530 * debug.adb: Document usage of -gnatd.Q switch.
532 2013-04-11 Matthew Heaney <heaney@adacore.com>
534 * a-crbtgk.adb (Ceiling, Find, Floor): Adjust locks
535 before element comparisons.
536 (Generic_Conditional_Insert, Generic_Conditional_Insert_With_Hint):
538 * a-crbtgo.adb, a-rbtgbo.adb (Generic_Equal): Adjust locks before
540 * a-rbtgso.adb (Difference, Intersection): Adjust locks
541 before element comparisons.
542 (Is_Subset, Overlap): Ditto
543 (Symmetric_Difference, Union): Ditto
544 * a-btgbso.adb (Set_Difference, Set_Intersection): Adjust locks
545 before element comparisons.
546 (Set_Subset, Set_Overlap): Ditto
547 (Set_Symmetric_Difference, Set_Union): Ditto
548 * a-coorse.adb, a-ciorse.adb, a-cborse.adb
549 (Update_Element_Preserving_Key): Adjust locks before element
550 comparisons (Replace_Element): Ditto
552 2013-04-11 Pascal Obry <obry@adacore.com>
554 * prj-attr.adb, projects.texi, snames.ads-tmpl: Remove Build_Slaves
557 2013-04-11 Ed Schonberg <schonberg@adacore.com>
559 * exp_ch3.adb (Build_Equivalent_Aggregate): Subsidiary of
560 Expand_N_Object_Declaration, used to construct an aggregate
561 with static components whenever possible, so that objects of a
562 discriminated type can be initialized without calling the init.
565 2013-04-11 Vincent Celier <celier@adacore.com>
567 * prj-makr.adb (Process_Directory): On VMS, always delete,
568 then recreate the temporary file with Create_Output_Text_File,
569 otherwise the output redirection does not work properly.
571 2013-04-11 Eric Botcazou <ebotcazou@adacore.com>
573 * urealp.ads: Fix minor typo.
575 2013-04-11 Fabien Chouteau <chouteau@adacore.com>
577 * cio.c (mktemp): Don't use tmpnam function from the
578 system on VxWorks in kernel mode.
580 2013-04-11 Vincent Celier <celier@adacore.com>
582 * make.adb (Compile): Clarify the error message reported
583 when gnatmake refuses to compile a runtime source.
584 (Start_Compile_If_Possible): Ditto.
586 2013-04-11 Vincent Celier <celier@adacore.com>
588 * gnat_ugn.texi: Add documentation about -gnatc and gnatmake.
590 2013-04-11 Vincent Celier <celier@adacore.com>
592 * switch-c.adb: Document internal switches.
593 * usage.adb: Remove lines for internal switches: -gnatea, -gnateO,
596 2013-04-11 Ed Schonberg <schonberg@adacore.com>
598 * par-ch6.adb (P_Subprogram): Attach aspects to subprogram stub.
599 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Allow aspects on
601 * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze generated
602 pre/post pragmas at once before analyzing the proper body.
603 * sem_prag.adb (Chain_PPC): Handle pragma that comes from an
604 aspect on a subprogram stub.
605 * aspects.adb: Aspect specifications can appear on a
606 subprogram_Body_Stub.
608 2013-04-11 Vincent Celier <celier@adacore.com>
610 * gnatname.adb: Minor comment fix.
612 2013-04-11 Vincent Celier <celier@adacore.com>
614 * prj-makr.adb (Process_Directory): Create a new temporary
615 file for each invocation of the compiler, in directory pointed
616 by environment variable TMPDIR if it exists.
618 2013-04-11 Arnaud Charlet <charlet@adacore.com>
620 * gnat_ugn.texi: Minor editing/clean ups.
622 2013-04-11 Ed Schonberg <schonberg@adacore.com>
624 * sem_ch6.adb (Analyze_Null_Procedure): New subprogram, mostly
625 extracted from Analyze_Subprogram_Declaration, to handle null
626 procedure declarations that in ada 2012 can be completions of
627 previous declarations.
629 2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
631 * sem_prag.adb (Entity_Of): Moved to Exp_Util.
632 * exp_util.ads, exp_util.adb (Entity_Of): New routine.
634 2013-04-11 Robert Dewar <dewar@adacore.com>
636 * g-spipat.ads: Minor comment fix.
638 2013-04-11 Robert Dewar <dewar@adacore.com>
640 * sem_prag.adb, sem_util.adb, sem_res.adb, exp_ch4.adb: Minor
643 2013-04-11 Thomas Quinot <quinot@adacore.com>
645 * exp_util.ads (Fully_Qualified_Name_String): Document that the
646 constructed literal is the entity name in all upper case.
648 2013-04-11 Thomas Quinot <quinot@adacore.com>
650 * sem_util.adb (Set_Entity_With_Style_Check): Fix logic of
651 check for implementation defined identifiers.
653 2013-04-11 Yannick Moy <moy@adacore.com>
655 * checks.adb (Apply_Type_Conversion_Checks): Add an explanation
656 of why range check and length are put on different nodes.
657 * exp_ch4.adb (Apply_Type_Conversion_Checks): Remove check marks
658 when doing their expansion.
660 2013-04-11 Ed Schonberg <schonberg@adacore.com>
662 * sem_util.ads, sem_util.adb (Get_Incomplete_View_Of_Ancestor):
663 New function to implement the notion introduced in RM 7.3.1
664 (5.2/3): in a child unit, a derived type is within the derivation
665 class of an ancestor declared in a parent unit, even if there
666 is an intermediate derivation that does not see the full view
668 * sem_res.adb (Valid_Conversion): if all else fails, examine if an
669 incomplete view of an ancestor makes a numeric conversion legal.
671 2013-04-11 Ed Schonberg <schonberg@adacore.com>
673 * sem_ch6.adb: in Ada2012 operators can only have in
676 2013-04-11 Vincent Celier <celier@adacore.com>
678 * makeutl.adb (Create_Binder_Mapping_File): Do not put into
679 the mapping file ALI files of sources that have been replaced.
681 2013-04-11 Vincent Celier <celier@adacore.com>
683 * projects.texi: Add subsection Duplicate Sources in Projects.
685 2013-04-11 Vincent Celier <celier@adacore.com>
687 * gnat_ugn.texi: Add documentation for gnatmake switch -droot_dir/**
689 2013-04-11 Arnaud Charlet <charlet@adacore.com>
691 * init.c (__gnat_install_handler): Only set up an alternate
692 stack when installing a signal handler for SIGSEGV.
694 2013-04-11 Thomas Quinot <quinot@adacore.com>
696 * g-socket.adb (Connect_Socket, timeout version): Call
697 underlying connect operation directly, not through the 2-argument
698 Connect_Socket thick binding, in order to avoid raising a junk
699 exception for the EINPROGRESS return.
701 2013-04-11 Robert Dewar <dewar@adacore.com>
703 * a-cdlili.adb: Minor addition of pragma Warnings (Off).
705 2013-04-11 Robert Dewar <dewar@adacore.com>
707 * hostparm.ads: Minor reformatting.
709 2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
711 * aspects.ads, aspects.adb: Add Aspect_Depends to all the relevant
713 * elists.ads, elists.adb (Contains): New routine.
714 * par-prag.adb: Pragma Depends does not need any special treatment
716 * sem_ch13.adb (Analyze_Aspect_Specifications):
717 Transform aspect Depends into a corresponding pragma.
718 (Check_Aspect_At_Freeze_Point): Aspect Depends does not need
719 inspection at its freeze point.
720 * sem_prag.adb (Analyze_Pragma): Perform analysis and
721 normalization of pragma Depends. Remove the use of function
722 Is_Duplicate_Item. Use End_Scope to uninstalle the formal
723 parameters of a subprogram. Add a value for pragma Depends in
725 (Is_Duplicate_Item): Removed.
726 * snames.ads-tmpl: Add predefined name for Depends as well as
729 2013-04-11 Arnaud Charlet <charlet@adacore.com>
731 * gnat1drv.adb: Minor code clean up.
733 2013-04-11 Arnaud Charlet <charlet@adacore.com>
735 * debug.adb, sem_ch13.adb (Analyze_Enumeration_Representation_Clause):
736 Ignore enumeration rep clauses by default in CodePeer mode, unless
737 -gnatd.I is specified.
739 2013-04-11 Ed Schonberg <schonberg@adacore.com>
741 * sem_util.adb (Safe_To_Capture_Value): If the node belongs to
742 an expression that has been attached to the else_actions of an
743 if-expression, the capture is not safe.
745 2013-04-11 Yannick Moy <moy@adacore.com>
747 * checks.adb (Apply_Type_Conversion_Checks): Put check mark on type
748 conversion for arrays.
750 2013-04-11 Robert Dewar <dewar@adacore.com>
752 * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb: Minor reformatting.
754 2013-04-11 Johannes Kanig <kanig@adacore.com>
756 * adabkend.adb: Minor comment addition.
758 2013-04-11 Matthew Heaney <heaney@adacore.com>
760 * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb ("="): Increment
761 lock counts before entering loop.
763 (Is_Sorted, Merge, Sort): Ditto.
764 (Reverse_Find): Ditto.
765 (Splice_Internal): Internal operation to refactor splicing logic.
766 (Splice): Some logic moved into Splice_Internal.
768 2013-04-11 Johannes Kanig <kanig@adacore.com>
770 * adabkend.adb (Scan_Compiler_Arguments): Do not call
771 Set_Output_Object_File_Name in Alfa_Mode
772 * gnat1drv.adb (Adjust_Global_Switches): Take Alfa_Mode into account.
773 * opt.ads: Fix documentation.
775 2013-04-11 Robert Dewar <dewar@adacore.com>
777 * sem_res.adb: Minor code reorganization and comment fixes.
778 * sem_type.adb: Minor reformatting.
780 2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
782 * exp_ch4.adb (Process_Transient_Object): Add new
783 local variable Fin_Call. Remove and explain ??? comment. Use the
784 Actions of logical operators "and then" and "or else" to insert
785 the generated finalization call.
787 2013-04-11 Eric Botcazou <ebotcazou@adacore.com>
789 * gnat_rm.texi: Fix typo.
791 2013-04-11 Ed Schonberg <schonberg@adacore.com>
793 * sem_res.adb: Minor reformatting.
795 2013-04-11 Robert Dewar <dewar@adacore.com>
797 * atree.h: Add declarations for Flag255-Flag289 Fix declaration
798 of Field30 (was wrong, but no effect, since not yet referenced by
799 back end) Add declarations for Field31-Field35 Add declarations
801 * einfo.ads, einfo.adb (Has_Invariants): No longer applies to
803 (Has_Predicates): No longer applies to functions.
804 (Is_Predicate_Function): New flag.
805 (Is_Predicate_Function_M): New flag.
806 (Is_Invariant_Procedure): New flag.
807 (Predicate_Function_M): New function.
808 (Set_Predicate_Function_M): New procedure.
809 * exp_ch11.adb (Expand_N_Raise_Expression): Take care of special
810 case of appearing in predicate used for membership test.
811 * exp_ch3.adb (Insert_Component_Invariant_Checks): Set
812 Is_Invariant_Procedure flag.
813 * exp_ch4.adb (Expand_Op_In): Call special predicate function
814 that takes care of raise_expression nodes in the predicate.
815 * exp_util.ads, exp_util.adb (Make_Predicate_Call): Add argument Mem for
817 * sem_ch13.adb (Build_Predicate_Functions): New name for
818 Build_Predicate_Function. Major rewrite to take care of raise
819 expression in predicate for membership tests.
820 * sem_res.adb (Resolve_Actuals): Include both predicate functions
821 in defense against infinite predicate function loops.
822 * sinfo.ads, sinfo.adb (Convert_To_Return_False): New flag.
824 2013-04-11 Robert Dewar <dewar@adacore.com>
826 * sem_prag.adb: Minor reformatting.
828 2013-04-11 Ed Schonberg <schonberg@adacore.com>
830 * lib-xref.adb: Generate reference for component of anonymous
833 2013-04-11 Robert Dewar <dewar@adacore.com>
835 * stand.ads: Minor reformatting.
837 2013-04-11 Matthew Heaney <heaney@adacore.com>
839 * a-convec.adb, a-coinve.adb, a-cobove.adb ("="): Increment lock
840 counts before entering loop.
841 (Find, Find_Index): Ditto.
842 (Is_Sorted, Merge, Sort): Ditto.
843 (Reverse_Find, Reverse_Find_Index): Ditto.
845 2013-04-11 Robert Dewar <dewar@adacore.com>
847 * exp_ch11.ads, exp_ch11.adb (Expand_N_Raise_Expression): New procedure.
848 * exp_util.adb (Insert_Actions): Add entry for N_Raise_Expression.
849 * expander.adb: Add call to Expand_N_Raise_Expression.
850 * par-ch11.adb (P_Raise_Expression): New procedure.
851 * par-ch4.adb (P_Relation): Handle Raise_Expression.
852 * par.adb (P_Raise_Expression): New procedure.
853 * sem.adb: Add handling for N_Raise_Expression.
854 * sem_ch11.ads, sem_ch11.adb (Analyze_Raise_Expression): New procedure.
855 * sem_res.adb (Resolve): Add handling for N_Raise_Expression.
856 * sinfo.ads, sinfo.adb (N_Raise_Expression): New node.
857 * sprint.adb (Sprint_Node_Actual): Add handling for N_Raise_Expression.
858 * stand.ads (Any_Type): Document use with N_Raise_Expression.
860 2013-04-11 Vincent Celier <celier@adacore.com>
862 * gnat_ugn.texi: Remove section "The Development Environments"
863 now that all predefined attributes are documented, including
864 those in package IDE.
866 2013-04-11 Ed Schonberg <schonberg@adacore.com>
868 * sem_ch6.adb: Preserve parent link in copy of expression.
870 2013-04-11 Vincent Celier <celier@adacore.com>
872 * projects.texi: Complete rewrite of the subsection Attributes
873 in section "Project file Reference".
875 2013-04-11 Robert Dewar <dewar@adacore.com>
877 * exp_ch4.adb: Minor reformatting.
879 2013-04-11 Robert Dewar <dewar@adacore.com>
881 * exp_ch4.adb (Expand_Concatenate): Remove wrapping in
882 expression-with-actions node. No longer needed given fix to
883 sem_prag and caused loss of some useful warnings.
884 * sem.ads: Minor reformatting.
885 * sem_prag.adb (Check_Disabled): Removed, to be replaced by not
886 Check_Enabled. These two routines were curiously incompatible
888 (Analyze_Pragma, case Check): Make sure we do
889 not expand the string argument if the check is disabled. Avoid
890 use of Check_Disabled, which resulted in missing analysis in
892 * sem_prag.ads (Check_Disabled): Removed, to be replaced by not
893 Check_Enabled. These two routines were curiously incompatible
896 2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
898 * exp_ch4.adb (Process_Transient_Object): Use
899 an unchecked conversion when associating a transient controlled
900 object with its "hook".
902 2013-04-11 Ed Schonberg <schonberg@adacore.com>
904 * sem_prag.adb (Analyze_Pragma, case
905 Preelaborable_Initialization): The pragma is legal if it comes
906 from an aspect on the private view of the type, even though its
907 analysis point takes place later at the freeze point.
909 2013-04-11 Robert Dewar <dewar@adacore.com>
911 * sem_ch6.adb: Minor reformatting.
913 2013-04-11 Yannick Moy <moy@adacore.com>
915 * ali-util.adb (Read_Withed_ALIs): Do not consider it an error to
916 read ALI files with No_Object=True in Alfa mode.
917 * gnat1drv.adb: Set appropriately Back_End_Mode in Alfa mode, whether
918 this is during frame condition generation of translation to Why.
920 2013-04-11 Robert Dewar <dewar@adacore.com>
922 * exp_ch4.adb: Minor code reorganization
923 * types.ads: Minor reformatting.
925 2013-04-11 Johannes Kanig <kanig@adacore.com>
927 * opt.ads New global boolean Frame_Condition_Mode to avoid
928 referring to command line switch.
929 * gnat1drv.adb (Gnat1drv) set frame condition mode when -gnatd.G
930 is present, and disable Code generation in that case. Disable
931 ALI file generation when switch is *not* present.
933 2013-04-11 Ed Schonberg <schonberg@adacore.com>
935 * sem_ch6.adb (Analyze_Expression_Function): Perform the
936 pre-analysis on a copy of the expression, to prevent downstream
937 visbility issues involving operators and instantiations.
939 2013-04-11 Johannes Kanig <kanig@adacore.com>
941 * debug.adb: Reservation and documentation for -gnatd.G switch.
942 * gnat1drv.adb (Adjust_Global_Switches) Take into account -gnatd.G
943 switch, and set ALI file generation accordingly.
945 2013-04-11 Robert Dewar <dewar@adacore.com>
947 * exp_ch4.adb, exp_dist.adb: Minor reformatting.
948 * gnat_rm.texi, gnat_ugn.texi: -020 Add documentation clarifying that
949 check names introduced with pragma Check_Name are suppressed by -gnatp.
951 2013-04-11 Vincent Celier <celier@adacore.com>
953 * gnat_ugn.texi, projects.texi: Move chapter "Tools Supporting Project
954 Files" from projects.texi to gnat_ugn.texi.
956 2013-04-11 Arnaud Charlet <charlet@adacore.com>
958 * gcc-interface/Make-lang.in: Update dependencies.
960 2013-04-11 Yannick Moy <moy@adacore.com>
962 * gnat1drv.adb (Adjust_Global_Switches): Allow missing body in Alfa
965 2013-04-11 Hristian Kirtchev <kirtchev@adacore.com>
967 * exp_ch4.adb (Expand_N_Allocator): Detect the
968 allocation of an anonymous controlled object where the type of
969 the context is named. Use the pool and finalization master of
970 the named access type to allocate the object.
972 2013-04-11 Vincent Celier <celier@adacore.com>
974 * gnat_ugn.texi: Remove most mentions of gprbuild.
975 * projects.texi: Remove all mentions of asociative array
978 2013-04-11 Robert Dewar <dewar@adacore.com>
980 * sem_prag.adb, sem_attr.adb, gnat1drv.adb, prj-makr.adb,
981 opt.ads, sem_ch13.adb: Minor reformatting.
982 * debug.adb: Minor comment fix (remove junk .I doc).
984 2013-04-11 Thomas Quinot <quinot@adacore.com>
986 * rtsfind.ads, exp_dist.adb, exp_dist.ads (Rtsfind.PCS_Version, case
988 (Exp_Dist.PolyORB_Support): Replace TC_Build with
991 2013-04-11 Arnaud Charlet <charlet@adacore.com>
993 * debug.adb, sem_prag.adb, par-ch2.adb, sem_attr.adb, gnat1drv.adb,
994 exp_disp.adb, opt.ads, sem_ch13.adb (Relaxed_RM_Semantics): New flag.
995 Enable this flag in CodePeer mode, and also via -gnatd.M.
996 Replace some uses of CodePeer_Mode by Relaxed_RM_Semantics.
998 2013-04-11 Ed Schonberg <schonberg@adacore.com>
1000 * sem_ch8.adb (Check_Constrained_Object): If a subtype is created
1001 from the renamed object in an object renaming declaration with
1002 an unconstrained nominal subtype, freeze the created subtype at
1003 once, to prevent order of elaboration issues in the backend.
1005 2013-04-11 Arnaud Charlet <charlet@adacore.com>
1007 * exp_aggr.adb (Aggr_Size_OK): Refine setting of Max_Aggr_Size
1008 in particular in CodePeer mode.
1010 2013-04-11 Vincent Celier <celier@adacore.com>
1012 * gnat_ugn.texi: Add documentation for backup copies of project
1015 2013-04-11 Tristan Gingold <gingold@adacore.com>
1017 * gnat_rm.texi: Add Detect_BLocking in the ravenscar profile
1020 2013-04-11 Vincent Celier <celier@adacore.com>
1022 * gnatname.adb (Scan_Args): Recognize new switch --no-backup
1023 (Usage): Add line for --no-backup.
1024 * opt.ads (No_Backup): New Boolean variable, initialized to False.
1025 (Ada_Version_Default): Switch to Ada 2012 by default.
1026 * prj-makr.adb (Initialize): Create a backup for an existing
1027 project file if gnatname is not invoked with --no-backup.
1029 2013-04-11 Thomas Quinot <quinot@adacore.com>
1031 * exp_ch4.adb: Minor code improvement: replace various calls to
1032 Make_If_Statement in expansion with Make_Implicit_If_Statement.
1034 2013-04-11 Eric Botcazou <ebotcazou@adacore.com>
1036 * ali.adb: Fix minor typo.
1038 2013-04-11 Thomas Quinot <quinot@adacore.com>
1040 * exp_ch4.adb (Find_Enclosing_Context): Add missing case of
1041 N_Procedure_Call_Statement.
1043 2013-04-11 Robert Dewar <dewar@adacore.com>
1045 * debug.adb: Minor comment fix.
1047 2013-04-11 Johannes Kanig <kanig@adacore.com>
1049 * debug.adb: Remove comment for -gnatd.G.
1051 2013-04-11 Thomas Quinot <quinot@adacore.com>
1053 * exp_ch4.adb (Expand_Record_Equality.Suitable_Element):
1054 Remove recursive routine, replace with...
1055 (Expand_Record_Equality.Element_To_Compare): New subroutine,
1056 implement iterative search for next element to compare.
1057 Add explanatory comment in the tagged case.
1059 2013-04-11 Ed Schonberg <schonberg@adacore.com>
1061 * sem_ch5.adb: remove spurious warning from non-empty loop.
1062 * sem_ch8.adb (Enclosing_Instance): Make public to other routines
1063 in the package, in order to suppress redundant semantic checks
1064 on subprogram renamings in nested instantiations.
1066 2013-04-11 Robert Dewar <dewar@adacore.com>
1068 * errout.ads: Minor reformatting.
1069 * sem_eval.adb (Why_Not_Static): Now issues continuation messages
1070 (Why_Not_Static): Test for aggregates behind string literals.
1071 * sem_eval.ads (Why_Not_Static): Now issues continuation messages.
1073 2013-04-11 Robert Dewar <dewar@adacore.com>
1075 * exp_ch4.adb (Expand_Concatenation): Wrap expansion in
1076 Expressions_With_Actions.
1078 2013-04-11 Ed Schonberg <schonberg@adacore.com>
1080 * sem_ch6.adb (Base_Types_Match): For an actual type in an
1081 instance, the base type may itself be a subtype, so find true
1082 base type to determine compatibility.
1084 2013-04-11 Robert Dewar <dewar@adacore.com>
1086 * s-osprim-mingw.adb, sem_ch3.adb, sem_prag.adb, sem_util.adb.
1087 makeutl.adb, sem_ch8.adb: Minor reformatting.
1089 2013-04-11 Vincent Celier <celier@adacore.com>
1091 * gnat_ugn.texi: Minor fixes for VMS.
1092 * ug_words: Minor addition: -gnato? => /OVERFLOW_CHECKS=?.
1094 2013-04-11 Robert Dewar <dewar@adacore.com>
1096 * usage.adb (Usage): Minor edit to -gnatW message
1098 2013-04-11 Robert Dewar <dewar@adacore.com>
1100 * exp_aggr.adb (Expand_N_Aggregate): Add circuit for handling
1101 others for string literal case. Also add big ??? comment about
1102 this new code, which should be redundant, but is not.
1103 * sem_eval.adb (Eval_Concatenation): Handle non-static case
1104 properly (Eval_String_Literal): Handle non-static literal properly
1106 2013-03-20 Tobias Burnus <burnus@net-b.de>
1108 * i-fortra.ads: Update comment, add Ada 2012's optional
1109 Star and Kind data types for enhanced interoperability.
1111 2013-03-16 Eric Botcazou <ebotcazou@adacore.com>
1113 * gnatvsn.ads (Library_Version): Bump to 4.9.
1115 2013-03-08 Cesar Strauss <cestrauss@gmail.com>
1118 * seh_init.c (Raise_From_Signal_Handler): Declare as no-return.
1119 (__gnat_SEH_error_handler): Likewise. Remove final return.
1121 2013-03-06 Eric Botcazou <ebotcazou@adacore.com>
1123 * gcc-interface/trans.c (Attribute_to_gnu): Abort instead of erroring
1124 out for an unimplemented attribute.
1126 2013-03-06 Eric Botcazou <ebotcazou@adacore.com>
1128 * gcc-interface/decl.c (gnat_to_gnu_field): Remove the wrapper around
1129 a misaligned integral type if a size is specified for the field.
1131 2013-03-06 Eric Botcazou <ebotcazou@adacore.com>
1133 * gcc-interface/trans.c (Raise_Error_to_gnu) <CE_Index_Check_Failed>:
1134 Record the unpadded type of the index type on the RCI stack.
1136 2013-03-06 Eric Botcazou <ebotcazou@adacore.com>
1138 * gcc-interface/trans.c (emit_range_check): Assert that the range type
1139 is a numerical type and remove useless local variables.
1141 2013-02-25 Eric Botcazou <ebotcazou@adacore.com>
1143 * gcc-interface/ada-tree.h: Back out change accidentally committed.
1145 2013-02-21 Jakub Jelinek <jakub@redhat.com>
1148 * gnat-style.texi (@title): Remove @hfill.
1149 * projects.texi: Avoid line wrapping inside of @pxref or @xref.
1151 2013-02-14 Rainer Emrich <rainer@emrich-ebersheim.de>
1154 * tracebak.c: Cast from pointer via FARPROC.
1156 2013-02-07 Simon Wright <simon@pushface.org>
1159 * init.c (__darwin_major_version): New function for x86-64/Darwin.
1160 (__gnat_adjust_context_for_raise) [Darwin]: Disable the workaround
1161 on Darwin 12 and above.
1163 2013-02-06 Rainer Emrich <rainer@emrich-ebersheim.de>
1166 * adaint.c (__gnat_check_OWNER_ACL): Cast from pointer via
1167 SECURITY_DESCRIPTOR *
1168 (__gnat_set_OWNER_ACL): Cast from DWORD to ACCESS_MODE
1169 (__gnat_portable_spawn): Fix cast to char* const*
1170 (add_handle): Cast from pointer via void **
1171 (add_handle): Cast from pointer via int *
1172 (__gnat_locate_exec_on_path): Cast from pointer via TCHAR *
1173 (__gnat_locate_exec_on_path): Cast from pointer via char *
1174 * initialize.c (append_arg): Cast from pointer via LPWSTR
1175 (__gnat_initialize): Cast from pointer via LPWSTR
1176 * seh_init.c (__gnat_map_SEH): Cast from pointer via FARPROC
1178 2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
1180 * gcc-interface/Make-lang.in: Enable System.Stack_Checking.Operations
1181 target pairs on VxWorks 5 only.
1183 2013-02-06 Arnaud Charlet <charlet@adacore.com>
1185 * gcc-interface/Make-lang.in: Update dependencies.
1187 2013-02-06 Vincent Celier <celier@adacore.com>
1189 * prj-proc.adb (Process_Aggregated_Projects): Use a new project
1190 node tree for each project tree rooted at an aggregated project.
1192 2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
1194 * sem_util.adb (Is_Interface_Conversion): New routine.
1195 (Object_Access_Level): Detect an interface conversion
1196 that has been rewritten into a different construct. Use the
1197 original form of the conversion to find the access level of
1200 2013-02-06 Eric Botcazou <ebotcazou@adacore.com>
1202 * einfo.ads (Has_Pragma_No_Inline): New flag using Flag201.
1203 (Has_Pragma_No_Inline): Declare and mark as inline.
1204 (Set_Has_Pragma_No_Inline): Likewise.
1205 * einfo.adb (Has_Pragma_No_Inline): New function.
1206 (Set_Has_Pragma_No_Inline): New procedure.
1207 (Write_Entity_Flags): Handle Has_Pragma_No_Inline.
1208 * snames.ads-tmpl (Name_No_Inline): New pragma-related name.
1209 (Pragma_Id): Add Pragma_No_Inline value.
1210 * par-prag.adb (Prag): Handle Pragma_Inline.
1211 * sem_prag.adb (Inline_Status): New enumeration type.
1212 (Process_Inline): Change Active parameter
1213 to Inline_Status and add support for suppressed inlining.
1214 (Analyze_Pragma) <Pragma_Inline>: Adjust to above change.
1215 <Pragma_Inline_Always>: Likewise.
1216 <Pragma_No_Inline>: Implement new pragma No_Inline.
1217 (Sig_Flags): Add Pragma_No_Inline.
1218 * gnat_rm.texi (Implementation Defined Pragmas): Add No_Inline.
1219 * gnat_ugn.texi (Switches for gcc): Mention Pragma No_Inline.
1221 2013-02-06 Pascal Obry <obry@adacore.com>
1223 * s-osprim-mingw.adb (Clock): Make sure we copy all data locally
1224 to avoid interleaved modifications that could happen from another
1225 task calling Get_Base_Data.
1226 (Get_Base_Data): Make it a critical section. Avoid updating if another
1227 task has already done it.
1229 2013-02-06 Eric Botcazou <ebotcazou@adacore.com>
1231 * sem_prag.adb: Minor reformatting.
1233 2013-02-06 Pascal Obry <obry@adacore.com>
1235 * s-tasloc.ads: Set System.Task_Lock to preelaborate.
1237 2013-02-06 Eric Botcazou <ebotcazou@adacore.com>
1239 * snames.ads-tmpl (Name_Loop_Optimize, Name_No_Unroll,
1240 Name_Unroll, Name_No_Vector, Name_Vector): New pragma-related
1242 (Pragma_Id): Add Pragma_Loop_Optimize value.
1243 * par-prag.adb (Prag): Handle Pragma_Loop_Optimize.
1244 * sem_prag.adb (Check_Loop_Invariant_Variant_Placement): Rename to...
1245 (Check_Loop_Pragma_Placement): ...this.
1247 <Pragma_Loop_Invariant>: Adjust to above renaming.
1248 <Loop_Variant>: Likewise.
1249 <Pragma_Loop_Optimize>: Implement new pragma Loop_Optimize.
1250 (Sig_Flags): Add Pragma_Loop_Optimize.
1251 * gnat_rm.texi (Implementation Defined Pragmas): Add Loop_Optimize.
1252 * gnat_ugn.texi (Vectorization of loops): Mention Loop_Optimize.
1254 2013-02-06 Robert Dewar <dewar@adacore.com>
1256 * osint.ads: Minor fix of typo.
1258 2013-02-06 Sergey Rybin <rybin@adacore.com frybin>
1260 * gnat_ugn.texi: gnatmetric: update the documentation of
1261 complexity metrics for Ada 2012.
1263 2013-02-06 Javier Miranda <miranda@adacore.com>
1265 * exp_disp.adb (Make_Secondary_DT): Code cleanup:
1266 remove useless initialization.
1268 2013-02-06 Ed Schonberg <schonberg@adacore.com>
1270 * sem_ch3.adb (Build_Discriminant_Constraints): Do not
1271 generate overflow checks on a discriminant expression if the
1272 discriminant constraint is applied to a private type that has
1273 a full view, because the check will be applied when the full
1274 view is elaborated. Removing the redundant check is not just
1275 an optimization, but it prevents spurious assembler errors,
1276 because of the way the backend generates names for expressions
1277 that require overflow checking.
1279 2013-02-06 Pascal Obry <obry@adacore.com>
1281 * s-osprim-mingw.adb: Removes workaround for an old GNU/Linker
1282 limitation on Windows.
1292 (Clock): Use variable corresponding to access.
1293 (Get_Base_Time): Likewise.
1294 (Monotonic_Clock): Likewise.
1296 2013-02-06 Vincent Celier <celier@adacore.com>
1298 * make.adb (Gnatmake): When gnatmake is called with a project
1299 file, do not invoke gnatbind with -I-.
1300 * makeutl.adb (Create_Binder_Mapping_File): Rewrite function. Get
1301 the infos from all the sources.
1303 2013-02-06 Ed Schonberg <schonberg@adacore.com>
1305 * snames.ads-tmpl: Add Name_Overriding_Renamings and pragma
1306 Overriding_Renamings.
1307 * par-prag.adb: Recognize pragma Overriding_Renamings.
1308 * opt.ads (Overriding_Renamings): flag to control compatibility
1309 mode with Rational compiler, replaces Rational_Profile flag.
1310 * sem_ch8.adb (Analyze_Subprogram_Renaming): When
1311 Overriding_Renamings is enabled, accept renaming declarations
1312 where the new subprogram renames and overrides a locally inherited
1313 operation. Improve error message for some illegal renamings.
1314 * sem_prag.adb (Analyze_Pragma): Add case for Overriding_Renamings.
1315 (Set_Rational_Profile): The Rational_Profile enables
1316 Overriding_Renamings, Implicit_Packing, and Use_Vads_Size.
1318 2013-02-06 Ed Schonberg <schonberg@adacore.com>
1320 * sem_util.adb: Set parent of copied aggregate component, to
1321 prevent infinite loop.
1323 2013-02-06 Robert Dewar <dewar@adacore.com>
1325 * sem_ch3.adb, sem_ch10.adb: Minor reformatting.
1326 * exp_disp.adb: Minor comment update.
1327 * comperr.ads, osint.ads, rtsfind.adb, sem_prag.adb: Minor addition of
1330 2013-02-06 Thomas Quinot <quinot@adacore.com>
1332 * targparm.ads, sem_ch13.adb (Support_Nondefault_SSO): New target
1333 parameter, defaulted to False for now, indicates targets where
1334 non-default scalar storage order may be specified.
1336 2013-02-06 Thomas Quinot <quinot@adacore.com>
1338 * sprint.adb (Write_Itype): Treat E_Record_Subtype_With_Private
1339 same as E_Record_Subtype. Display E_Class_Wide_Subtype as
1342 2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
1344 * sem_ch3.adb (Complete_Private_Subtype): Inherit the
1345 Has_Unknown_Discriminants from the full view of the base type.
1347 2013-02-06 Tristan Gingold <gingold@adacore.com>
1349 * raise-gcc.c: Remove useless includes (sys/stat.h, adaint.h)
1350 Enclosing debugging functions within #ifndef inhibit_libc to
1351 support builds without full C headers.
1353 2013-02-06 Thomas Quinot <quinot@adacore.com>
1355 * gnat_rm.texi: Add a minimal example of Scalar_Storage_Order.
1357 2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
1359 * sem_ch10.adb (Install_Limited_Withed_Unit): Add a missing
1360 check to detect a parent-child relationship between two units in
1361 order to correctly bypass the installation of a limited view. In
1362 other words, the comment on the intended usage of the check was
1363 correct, but the code itself did not reflect the behavior.
1365 2013-02-06 Javier Miranda <miranda@adacore.com>
1367 * exp_ch5.adb (Expand_N_Assignment_Statement): Do not generate the
1368 runtime check on assignment to tagged types if compiling with checks
1371 2013-02-06 Robert Dewar <dewar@adacore.com>
1373 * exp_util.adb, checks.adb, sem_ch12.adb, sem_res.adb, prj-conf.adb,
1374 s-os_lib.adb: Minor reformatting
1376 2013-02-06 Vincent Celier <celier@adacore.com>
1378 * ug_words: Add -gnateY = /IGNORE_STYLE_CHECKS_PRAGMAS.
1380 2013-02-06 Ed Schonberg <schonberg@adacore.com>
1382 * snames.ads-tmpl: Add Name_Rational and pragma Rational.
1383 * par-prag.adb: Recognize pragma Rational.
1384 * opt.ads (Rational_Profile): flag to control compatibility mode
1385 with Rational compiler.
1386 * sem_ch8.adb (Analyze_Subprogram_Renaming): When Rational profile
1387 is enable, accept renaming declarations where the new subprogram
1388 and the renamed entity have the same name.
1389 * sem_prag.adb (analyze_pragma): Add pragma Rational, and recognize
1390 Rational as a profile.
1392 2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
1394 * exp_ch5.adb (Expand_Loop_Entry_Attributes): When
1395 dealing with a for loop that iterates over a subtype indication
1396 with a range, use the low and high bounds of the subtype.
1398 2013-02-06 Nicolas Roche <roche@adacore.com>
1400 * s-os_lib.adb (Normalize_Arguments): Arguments containing tabs should
1403 2013-02-06 Vincent Celier <celier@adacore.com>
1405 * prj-conf.adb (Process_Project_And_Apply_Config): New variable
1406 Conf_Project. New recursive procedure Check_Project to find a non
1407 aggregate project and put its Project_Id in Conf_Project. Fails if
1408 no such project can be found.
1409 (Get_Or_Create_Configuration_File): New parameter Conf_Project.
1410 (Do_Autoconf): Use project directory of project Conf_Project to store
1411 the generated configuration project file.
1412 * prj-conf.ads (Get_Or_Create_Configuration_File): New parameter
1415 2013-02-06 Javier Miranda <miranda@adacore.com>
1417 * sem_res.adb (Resolve_Actuals): Generate a read
1418 reference for out-mode parameters in the cases specified by
1421 2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
1423 * sem_attr.adb (Resolve_Attribute): Do not resolve the prefix of
1424 Loop_Entry, instead wait until the attribute has been expanded. The
1425 delay ensures that any generated checks or temporaries are inserted
1426 before the relocated prefix.
1428 2013-02-06 Ed Schonberg <schonberg@adacore.com>
1430 * sem_ch12.adb: Code clean up.
1432 2013-02-06 Ed Schonberg <schonberg@adacore.com>
1434 * checks.adb (Apply_Discriminant_Check): Look for discriminant
1435 constraint in full view of private type when needed.
1436 * sem_ch12.adb (Validate_Array_Type_Instance): Specialize
1437 previous patch to components types that are private and without
1440 2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
1442 * exp_ch4.adb (Find_Enclosing_Context): Recognize
1443 a simple return statement as one of the cases that require special
1444 processing with respect to temporary controlled function results.
1445 (Process_Transient_Object): Do attempt to finalize a temporary
1446 controlled function result when the associated context is
1447 a simple return statement. Instead, leave this task to the
1448 general finalization mechanism.
1450 2013-02-06 Thomas Quinot <quinot@adacore.com>
1452 * einfo.ads: Minor reformatting.
1453 (Status_Flag_Or_Transient_Decl): Add ??? comment.
1455 2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
1457 * exp_ch4.adb (Expand_N_Expression_With_Actions): Rewritten. This
1458 routine should be able to properly detect controlled transient
1459 objects in its actions and generate the appropriate finalization
1461 * exp_ch6.adb (Enclosing_Context): Removed.
1462 (Expand_Ctrl_Function_Call): Remove local subprogram and
1463 constant. Use routine Within_Case_Or_If_Expression to determine
1464 whether the lifetime of the function result must be extended to
1465 match that of the context.
1466 * exp_util.ads, exp_util.adb (Within_Case_Or_If_Expression): New
1469 2013-02-06 Ed Schonberg <schonberg@adacore.com>
1471 * sem_ch12.adb (Validate_Array_Type_Instance): Extend check
1472 for subtype matching of component type of formal array type,
1473 to avoid spurious error when component type is a separate actual
1474 in the instance, and there may be a discrepancy between private
1475 and full view of component type.
1477 2013-02-06 Robert Dewar <dewar@adacore.com>
1479 * s-dim.ads, clean.adb: Minor reformatting.
1481 2013-02-06 Javier Miranda <miranda@adacore.com>
1483 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Undo previous patch.
1484 (Can_Split_Unconstrained_Function): Only split the inlined function if
1485 the compiler generates the code of its body.
1487 2013-02-06 Robert Dewar <dewar@adacore.com>
1489 * exp_prag.adb, sem_ch3.adb, exp_attr.adb, sem_prag.adb, sem_ch6.adb,
1490 exp_intr.adb, exp_dist.adb, sem_ch13.adb: Internal clean up for
1493 2013-02-06 Robert Dewar <dewar@adacore.com>
1495 * gnat_rm.texi: Minor text updates for pragma Warning.
1497 2013-02-06 Geert Bosch <bosch@adacore.com>
1499 * s-multip.adb (Number_Of_CPUs): Short-circuit in case of
1502 2013-02-06 Vincent Celier <celier@adacore.com>
1504 * clean.adb (Delete): On VMS use host notation to delete all files.
1506 2013-02-06 Robert Dewar <dewar@adacore.com>
1508 * sem_prag.adb, sem_ch6.adb, prj-conf.adb, erroutc.adb: Minor
1511 2013-02-06 Gary Dismukes <dismukes@adacore.com>
1513 * sem_ch6.adb (Check_For_Primitive_Subprogram): Test for
1514 the special case of a user-defined equality that overrides
1515 the predefined equality of a nonderived type declared in a
1517 * sem_util.adb (Collect_Primitive_Operations): Add test for
1518 Is_Primitive when looping over the subprograms following a type,
1519 to catch the case of primitives such as a user-defined equality,
1520 which otherwise won't be found when the type is not a derived
1521 type and is declared in a declarative part.
1523 2013-02-06 Vincent Celier <celier@adacore.com>
1525 * prj-conf.adb (Check_Target): Always return True when Target
1526 is empty (Get_Or_Create_Configuration_File.Get_Project_Target):
1527 New procedure to get the value of attribute Target in the main
1529 (Get_Or_Create_Configuration_File.Do_Autoconf): No
1530 need to get the value of attribute Target in the main project.
1531 (Get_Or_Create_Configuration_File): Call Get_Project_Target and
1532 use the target fom this call.
1534 2013-02-06 Eric Botcazou <ebotcazou@adacore.com>
1536 * erroutc.adb (Validate_Specific_Warning): Do not issue the
1537 warning about an ineffective Pragma Warnings for -Wxxx warnings.
1538 * sem_prag.adb (Analyze_Pragma) <Warnings>: Accept -Wxxx warnings.
1539 * gnat_rm.texi (Pragma Warnings): Document coordination with
1540 warnings of the GCC back-end.
1542 2013-02-06 Javier Miranda <miranda@adacore.com>
1544 * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not build the body
1545 of an inlined function if we do not generate code for the function.
1547 2013-02-06 Pascal Obry <obry@adacore.com>
1549 * s-os_lib.adb (Locate_Exec_On_Path): Call Normalize_Pathname
1550 with Resolve_Links set to False.
1552 2013-02-03 Eric Botcazou <ebotcazou@adacore.com>
1554 * gcc-interface/decl.c: Include diagnostic-core.h.
1555 (gnat_to_gnu_entity) <E_Array_Type>: Sorry if Reverse_Storage_Order
1556 is set on the entity.
1557 <E_Record_Type>: Likewise.
1558 * gcc-interface/Make-lang.in (ada/decl.o): Add $(DIAGNOSTIC_CORE_H).
1560 2013-01-29 Ben Brosgol <brosgol@adacore.com>
1562 * gnat_rm.texi: Fixed typos. Minor edits.
1564 2013-01-29 Bob Duff <duff@adacore.com>
1566 * a-convec.adb: Minor reformatting.
1568 2013-01-29 Pascal Obry <obry@adacore.com>
1570 * tempdir.adb, tempdir.ads (Use_Temp_Dir): Set wether to use the temp
1573 2013-01-29 Ed Schonberg <schonberg@adacore.com>
1575 * exp_ch5.adb (Expand_Iterator_Loop_Over_Array): Preserve loop
1576 identifier only if it comes from source.
1577 (Expand_N_Loop_Statement): If the domain of iteration is an
1578 enumeration type with a representation clause, remove from
1579 visibility the loop identifier before rewriting the loop as a
1580 block with a declaration for said identifier.
1581 * sem_util.adb (Remove_Homonym): Handle properly the default case.
1583 2013-01-29 Vincent Celier <celier@adacore.com>
1585 * prj-proc.adb: Minor comment spelling fix.
1587 2013-01-29 Pascal Obry <obry@adacore.com>
1589 * prj-proc.adb (Process_Expression_Variable_Decl): Prepend
1590 Project_Path to current environment.
1592 2013-01-29 Thomas Quinot <quinot@adacore.com>
1594 * sprint.adb (Sprint_Node_Actual): Output freeze nodes for
1595 itypes even if Dump_Freeze_Null is not set.
1597 2013-01-29 Robert Dewar <dewar@adacore.com>
1599 * sem_util.adb: Minor reformatting.
1600 * s-rident.ads: Minor comment fixes.
1602 2013-01-29 Pascal Obry <obry@adacore.com>
1604 * prj-env.ads, prj-env.adb (Add_Directories): Add parameter to
1605 control if the path is prepended or appended.
1607 2013-01-29 Ed Schonberg <schonberg@adacore.com>
1609 * sem_ch6.adb (Analyze_Expression_Function): An expression
1610 function declaration is not a subprogram declaration, and thus
1611 cannot appear in a protected definition.
1613 2013-01-29 Hristian Kirtchev <kirtchev@adacore.com>
1615 * exp_util.adb (Insert_Actions): When new
1616 actions come from the expression of the expression with actions,
1617 then they must be added to the list of existing actions.
1619 2013-01-29 Eric Botcazou <ebotcazou@adacore.com>
1621 * sem_ch3.adb (Analyze_Subtype_Declaration) <Private_Kind>: For
1622 the subtype of a constrained private type with discriminants
1623 that has got a full view, show that the completion is a clone
1626 2013-01-29 Javier Miranda <miranda@adacore.com>
1628 * errout.ads, errout.adb (Get_Ignore_Errors): New subprogram.
1629 * opt.ads (Warn_On_Overlap): Update documentation.
1630 * sem_aggr.adb (Resolve_Aggregate, Resolve_Extension_Aggregate):
1631 Check function writable actuals.
1632 * sem_ch3.adb (Build_Derived_Record_Type,
1633 Record_Type_Declaration): Check function writable actuals.
1634 * sem_ch4.adb (Analyze_Range): Check function writable actuals.
1635 * sem_ch5.adb (Analyze_Assignment): Remove code of the initial
1636 implementation of AI05-0144.
1637 * sem_ch6.adb (Analyze_Function_Return,
1638 (Analyze_Procedure_Call.Analyze_Call_And_Resolve): Remove code
1639 of the initial implementation of AI05-0144.
1640 * sem_res.adb (Resolve): Remove code of the initial implementation.
1641 (Resolve_Actuals): Call Check_Function_Writable_Actuals and remove call
1642 of the initial implementation.
1643 (Resolve_Arithmetic_Op, Resolve_Logical_Op,
1644 Resolve_Membership_Op): Check function writable actuals.
1645 * sem_util.ad[sb] (Actuals_In_Call): Removed
1646 (Check_Order_Dependence): Removed (Save_Actual): Removed
1647 (Check_Function_Writable_Actuals): New subprogram.
1648 * usage.adb (Usage): Update documentation.
1649 * warnsw.adb (Set_Warning_Switch): Enable warn_on_overlap when
1650 setting all warnings.
1652 2013-01-29 Robert Dewar <dewar@adacore.com>
1654 * a-calend-vms.adb: Minor comment fix.
1656 2013-01-29 Robert Dewar <dewar@adacore.com>
1658 * mlib-utl.adb, gnatlink.adb: Avoid reference to ASCII.Back_Slash
1659 because of casing issues.
1660 * sem_util.ads: Minor comment fix.
1661 * style.adb (Check_Identifier): Set proper casing for entities
1663 * styleg.adb: Minor comment improvement.
1664 * stylesw.ads (Style_Check_Standard): Fix bad comments.
1666 2013-01-29 Hristian Kirtchev <kirtchev@adacore.com>
1668 * sem_prag.adb: Add the grammar for pragmas Abstract_State and Global.
1669 (Analyze_Pragma): Push the scope of the related subprogram and install
1670 its formals once before starting the analysis of the [moded] global
1673 2013-01-29 Pascal Obry <obry@adacore.com>
1675 * prj-proc.adb (Process_Expression_Variable_Decl): Always handle
1676 relative paths in Project_Path as relative to the aggregate
1677 project location. Note that this was what was documented.
1679 2013-01-29 Vincent Celier <celier@adacore.com>
1681 * gnatcmd.adb: For "gnat stub -P ...", do not check the naming
1682 scheme for Ada, when Ada is not a language for the project.
1684 2013-01-29 Ed Schonberg <schonberg@adacore.com>
1686 * sem_ch3.adb (Analyze_Subtype_Declaration): Inherit
1687 Is_Generic_Actual_Type flag in a nested instance.
1688 * sem_ch12.adb (Restore_Private_Views): Preserve
1689 Is_Generic_Actual_Type flag if actual is a Generic_Actual_Type
1690 of an enclosing instance.
1691 * sem_util.adb (Corresponding_Generic_Type): Handle generic actual
1692 which is an actual of an enclosing instance.
1693 * sem_type.adb (Real_Actual): If a generic_actual_type is the
1694 formal of an enclosing generic and thus renames the corresponding
1695 actual, use the actual of the enclosing instance to resolve
1696 spurious ambiguities in instantiations when two formals are
1697 instantiated with the same actual.
1699 2013-01-29 Robert Dewar <dewar@adacore.com>
1701 * gnat_rm.texi: Document all Ada 2005 and Ada 2012 pragmas as
1702 being available as implementation-defined pragmas in earlier
1705 2013-01-29 Vincent Celier <celier@adacore.com>
1707 * clean.adb (Delete): On VMS, delete all versions of the file.
1709 2013-01-29 Robert Dewar <dewar@adacore.com>
1711 * par-ch6.adb (No_Constraint_Maybe_Expr_Func): New procedure.
1712 * par-util.adb (No_Constraint): Undo special handling, moved
1715 2013-01-29 Robert Dewar <dewar@adacore.com>
1717 * aspects.ads: Aspect Warnings is implementation defined Add
1718 some other missing entries to impl-defined list Mark Warnings
1719 as GNAT pragma in main list.
1720 * sem_ch8.adb: Process aspects for all cases of renaming
1723 2013-01-29 Robert Dewar <dewar@adacore.com>
1725 * sem_ch6.adb (Analyze_Function_Call): Set In_Assertion flag.
1726 * sem_elab.adb (Check_Internal_Call_Continue): Do not issue
1727 warnings about possible elaboration error if call is within
1729 * sinfo.ads, sinfo.adb (In_Assertion): New flag in N_Function_Call node.
1731 2013-01-29 Robert Dewar <dewar@adacore.com>
1733 * a-calend-vms.adb, g-eacodu-vms.adb, g-trasym-vms-alpha.adb,
1734 * s-auxdec-vms-ia64.adb, s-mastop-vms.adb, s-osprim-vms.adb,
1735 s-tasdeb-vms.adb: Replace pragma Interface by pragma Import.
1737 2013-01-29 Robert Dewar <dewar@adacore.com>
1739 * opt.ads (Ignore_Style_Checks_Pragmas): New flag.
1740 * par-prag.adb (Par, case Style_Checks): Recognize
1741 Ignore_Style_Checks_Pragmas.
1742 * sem_prag.adb (Analyze_Pragma, case Style_Checks): Recognize
1743 Ignore_Style_Checks_Pragmas.
1744 * switch-c.adb: Recognize -gnateY switch.
1745 * usage.adb: Add documentation for "-gnateY".
1746 * vms_data.ads: Add IGNORE_STYLE_CHECKS_PRAGMAS (-gnateY).
1748 2013-01-29 Vincent Celier <celier@adacore.com>
1750 * clean.adb (Clean_Executables): Add Sid component when calling
1752 * make.adb: When inserting in the Queue, add the Source_Id
1753 (Sid) when it is known (Start_Compile_If_Possible): When the
1754 Source_Id is known (Sid), get the path name of the ALI file
1755 (Full_Lib_File) from it, to avoid finding old ALI files in other
1757 * makeutl.ads (Source_Info): New Source_Id component Sid in
1758 Format_Gnatmake variant.
1760 2013-01-29 Robert Dewar <dewar@adacore.com>
1762 * gnat_ugn.texi: Document -gnateY.
1764 2013-01-29 Doug Rupp <rupp@adacore.com>
1766 * s-osinte-vms.ads, s-taprop-vms.adb, system-vms_64.ads,
1767 system-vms-ia64.ads: Replace pragma Interface by pragma Import.
1769 2013-01-29 Robert Dewar <dewar@adacore.com>
1771 * atree.ads, atree.adb (Node30): New function.
1772 (Set_Node30): New procedure.
1773 (Num_Extension_Nodes): Change to 5 (activate new fields/flags).
1774 * atree.h: Add macros for Field30 and Node30.
1775 * einfo.ads, einfo.adb: Move some fields to avoid duplexing.
1776 * treepr.adb (Print_Entity_Information): Print fields 30-35.
1778 2013-01-29 Robert Dewar <dewar@adacore.com>
1780 * sem_prag.adb (Analyze_Pragma, case Interface): Consider to
1781 be a violation of No_Obsolescent_Features even in Ada 95. Also
1782 generates a warning in -gnatwj mode.
1783 (Analyze_Pragma, case Interface_Name): Generates a warning in -gnatwj
1785 * gnat_ugn.texi: Additional documentation on -gnatwj and pragma
1788 2013-01-29 Vincent Celier <celier@adacore.com>
1790 * snames.ads-tmpl: Add new standard name Trailing_Switches.
1792 2013-01-29 Ed Schonberg <schonberg@adacore.com>
1794 * sem_disp.adb (Check_Controlling_Type): If a designated type T
1795 of an anonymous access type is a limited view of a tagged type,
1796 it can be a controlling type only if the subprogram is in the
1799 2013-01-29 Vincent Celier <celier@adacore.com>
1801 * gnatcmd.adb: Use the project where the config pragmas file is
1802 declared to get its path.
1804 2013-01-29 Vincent Celier <celier@adacore.com>
1806 * prj-attr.adb: New attribute Linker'Trailing_Switches.
1808 2013-01-22 Eric Botcazou <ebotcazou@adacore.com>
1810 * gcc-interface/trans.c (gnat_to_gnu) <N_Expression_With_Actions>: Do
1811 not translate the Etype of the node before translating the Actions.
1813 2013-01-22 Eric Botcazou <ebotcazou@adacore.com>
1815 * gcc-interface/trans.c (Pragma_to_gnu) <Name_Space>: Use optimize_size
1816 instead of optimize and adjust warning message.
1817 (Compilation_Unit_to_gnu): Process pragmas preceding the unit.
1819 2013-01-22 Tristan Gingold <gingold@adacore.com>
1821 * gcc-interface/gigi.h (ADT_unhandled_except_decl,
1822 ADT_unhandled_others_decl): New.
1823 (unhandled_others_decl, unhandled_except_decl): Define.
1824 * gcc-interface/trans.c: Include common/common-target.h.
1825 (gigi): Initialize them.
1826 (Subprogram_Body_to_gnu): On SEH targets, wrap the body of the main
1827 function in a try/catch clause.
1829 2013-01-11 Eric Botcazou <ebotcazou@adacore.com>
1831 * gcc-interface/Make-lang.in (COMMON_ADAFLAGS): Remove -gnata.
1832 (CHECKING_ADAFLAGS): New.
1833 (ALL_ADAFLAGS): Include CHECKING_ADAFLAGS.
1835 2013-01-10 Eric Botcazou <ebotcazou@adacore.com>
1837 * gcc-interface/config-lang.in (boot_language_boot_flags): Delete.
1838 * gcc-interface/Make-lang.in (BOOT_ADAFLAGS): Likewise.
1840 2013-01-07 Eric Botcazou <ebotcazou@adacore.com>
1842 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Adjust
1843 comment about type extension with discriminants.
1844 <E_Record_Subtype>: Remove useless test and reorder conditions.
1845 (elaborate_entity) <E_Record_Subtype>: Likewise.
1847 2013-01-07 Richard Biener <rguenther@suse.de>
1850 * gcc-interface/Make-lang.in (ada.install-common): Always apply
1851 program_transform_name.
1853 2013-01-06 Eric Botcazou <ebotcazou@adacore.com>
1855 * gnatvsn.ads (Current_Year): Bump to 2013.
1857 2013-01-06 Olivier Hainque <hainque@adacore.com>
1859 * gcc-interface/decl.c (gnat_to_gnu_field): Emit a specialized
1860 diagnostic for component size mismatch wrt volatile requirements.
1861 Add a gcc_unreachable() at the end of the checks for size. Split
1862 the check on volatile for positions into one check on atomic and
1863 a subsequent one on volatile.
1865 2013-01-06 Eric Botcazou <ebotcazou@adacore.com>
1867 * gcc-interface/decl.c (elaborate_entity) <E_Record_Type>: Delete.
1869 2013-01-06 Eric Botcazou <ebotcazou@adacore.com>
1871 * gcc-interface/decl.c (gnat_to_gnu_entity) <discrete_type>: Do not
1872 pack the field of the record type made for a misaligned type.
1874 2013-01-06 Eric Botcazou <ebotcazou@adacore.com>
1876 * gcc-interface/decl.c (annotate_value) <COMPONENT_REF>: Be prepared
1877 for discriminants inherited from parent record types.
1879 2013-01-04 Robert Dewar <dewar@adacore.com>
1881 * warnsw.adb: Minor fixes to -gnatw.d handling.
1883 2013-01-04 Robert Dewar <dewar@adacore.com>
1885 * einfo.adb, atree.adb: Enlarge entities to make 63 more flags, 6 more
1888 2013-01-04 Joel Brobecker <brobecker@adacore.com>
1890 * gnat_ugn.texi: Fix typo.
1892 2013-01-04 Robert Dewar <dewar@adacore.com>
1894 * gnat_rm.texi: Document alignment choice for subtypes.
1896 2013-01-04 Robert Dewar <dewar@adacore.com>
1898 * validsw.ads: Minor fix to comment.
1900 2013-01-04 Doug Rupp <rupp@adacore.com>
1902 * Makefile.rtl (GNATRTL_NONTASKING_OBJS,
1903 GNATRTL_ALTIVEC_OBJS): Factor g-al* objects.
1904 * gcc-interface/Makefile.in (ADA_EXCLUDE_SRCS): Add g-al* sources.
1905 (GNATRTL_ALTIVEC_OBJS): Override to null for VMS.
1906 Rename leon vxworks toolchain as leon-wrs-vxworks.
1907 * gcc-interface/Make-lang.in: Update dependencies
1909 2013-01-04 Pascal Obry <obry@adacore.com>
1911 * prj.ads (For_Each_Source): Add Locally_Removed parameter.
1912 (Source_Iterator): Add Locally_Removed field.
1913 * prj.adb (For_Each_Source): Ignore Locally_Removed files if needed.
1916 2013-01-04 Robert Dewar <dewar@adacore.com>
1918 * exp_attr.adb: Minor reformatting.
1920 2013-01-04 Robert Dewar <dewar@adacore.com>
1922 * checks.adb (Insert_Valid_Check): Fix handling of renamed
1923 packed array element.
1924 * exp_ch4.adb (Expand_Concatenate): Fix some missing parent
1925 fields in generated code.
1926 * exp_util.adb (Side_Effect_Free): Improve detection of cases
1929 2013-01-04 Robert Dewar <dewar@adacore.com>
1931 * sinfo.ads: Clean up order of N_xxx subtypes
1933 2013-01-04 Vincent Celier <celier@adacore.com>
1935 * prj-conf.adb (Check_Target): Allow --autoconf= with no target.
1937 2013-01-04 Robert Dewar <dewar@adacore.com>
1939 * types.ads, prj-conf.adb, par-tchk.adb: Minor reformatting.
1941 2013-01-04 Robert Dewar <dewar@adacore.com>
1943 * par-ch6.adb (P_Subprogram): Better handling of missing IS
1944 after expression function.
1945 * par-util.adb (No_Constraint): Improve handling to avoid bad warnings.
1947 2013-01-04 Robert Dewar <dewar@adacore.com>
1949 * exp_util.ads, exp_util.adb (Insert_Actions): In expression with
1950 actions case, new actions are appended to the sequence rather than
1953 2013-01-04 Robert Dewar <dewar@adacore.com>
1955 * gnat_ugn.texi: Document -gnatw.d/w.D (does no apply in VMS mode).
1956 * usage.adb: Add lines for -gnatw.d/w.D switches.
1957 * warnsw.adb: Minor fixes (some missing cases of setting
1958 Warning_Doc_Switch). Reject -gnatw.d and -gnatw.D in VMS mode.
1960 2013-01-04 Robert Dewar <dewar@adacore.com>
1962 * exp_util.adb (Remove_Side_Effects): Make sure scope suppress
1963 is restored on exit.
1965 2013-01-04 Robert Dewar <dewar@adacore.com>
1967 * usage.adb: Document -gnateF (check overflow for predefined Float).
1969 2013-01-04 Robert Dewar <dewar@adacore.com>
1971 * sem_res.adb (Resolve_Type_Conversion): Remove incorrect
1972 prevention of call to Apply_Type_Conversion_Checks, which resulted
1973 in missing check flags in formal mode.
1975 2013-01-04 Vincent Celier <celier@adacore.com>
1977 * makeutl.ads (Db_Switch_Args): New table used by gprbuild.
1978 * prj-conf.adb (Check_Builder_Switches): Check for switches
1979 --config= (Get_Db_Switches): New procedure to get the --db
1980 switches so that they are used when invoking gprconfig in
1982 (Do_Autoconf): When invoking gprconfig, use the --db switches, if any.
1984 2013-01-04 Pascal Obry <obry@adacore.com>
1986 * prj-nmsc.adb: Minor reformatting.
1988 2013-01-04 Vincent Celier <celier@adacore.com>
1990 * makeutl.ads (Root_Environment): New variable, moved rom
1991 gprbuild (Load_Standard_Base): New Boolean variable, moved
1993 * prj-conf.adb (Check_Builder_Switches): New procedure to check
1994 for switch --RTS in package Builder. If a runtime specified
1995 by --RTS is a relative path name, but not a base name, then
1996 find the path on the Project Search Path.
1997 (Do_Autoconf): Call Check_Builder_Switches.
1998 (Locate_Runtime): New procedure, moved from gprbuild, to get the
1999 absolute paths of runtimes when they are not specified as a base name.
2000 * prj-conf.ads (Locate_Runtime): New procedure, moved from gprbuild.
2002 2013-01-04 Ed Schonberg <schonberg@adacore.com>
2004 * sem_ch3.adb (Build_Private_Derived_Type): Set
2005 Has_Private_Ancestor on type derived from an untagged private
2006 type whose full view has discriminants
2007 * sem_aggr.adb (Resolve_Record_Aggregate): Reject non-extension
2008 aggregate for untagged record type with private ancestor.
2010 2013-01-04 Thomas Quinot <quinot@adacore.com>
2012 * sem_elab.adb, sem_ch3.adb: Minor reformatting.
2014 2013-01-04 Robert Dewar <dewar@adacore.com>
2016 * table.adb: Minor reformatting.
2018 2013-01-04 Ed Schonberg <schonberg@adacore.com>
2020 * sem_ch10.adb (Check_Redundant_Withs): A with_clause that does
2021 not come from source does not generate a warning for redundant
2024 2013-01-04 Hristian Kirtchev <kirtchev@adacore.com>
2026 * aspects.adb, aspects.ads: Add Aspect_Global to all relevant tables.
2027 * par-prag.adb: Add pragma Global to the list of pragmas that
2028 do not need special processing by the parser.
2029 * sem_ch13.adb (Analyze_Aspect_Specifications): Convert aspect
2030 Global into a pragma without any form of legality checks. The
2031 work is done by Analyze_Pragma. The aspect and pragma are both
2032 marked as needing delayed processing. Insert the corresponding
2033 pragma of aspect Abstract_State in the visible declarations of the
2035 (Check_Aspect_At_Freeze_Point): Aspect Global
2036 does not need processing even though it is marked as delayed.
2037 Alphabetize the list on aspect names.
2038 * sem_prag.adb: Add a value for pragma Global in table Sig_Flags.
2039 (Analyze_Pragma): Add ??? comment about the grammar of pragma
2040 Abstract_State. Move the error location from the pragma to the
2041 state to improve the quality of error placement. Add legality
2042 checks for pragma Global.
2043 * snames.ads-tmpl Add the following specially recognized names
2045 2013-01-04 Eric Botcazou <ebotcazou@adacore.com>
2047 * sem_ch3.adb: Fix minor typo.
2049 2013-01-04 Ed Schonberg <schonberg@adacore.com>
2051 * par-ch13.adb (Aspect_Specifications_Present): In Strict mode,
2052 accept an aspect name followed by a comma, indicating a defaulted
2055 2013-01-04 Joel Brobecker <brobecker@adacore.com brobecker>
2057 * gnat_ugn.texi: Document procedure to codesign GDB on Darwin.
2058 Update doc on gnattest --separates switch.
2060 2013-01-04 Thomas Quinot <quinot@adacore.com>
2062 * s-chepoo.ads: Minor reformatting.
2064 2013-01-04 Arnaud Charlet <charlet@adacore.com>
2066 * usage.adb: Remove mention of -gnatN in usage.
2068 2013-01-04 Robert Dewar <dewar@adacore.com>
2070 * exp_prag.adb, gnatcmd.adb, exp_util.adb, table.adb, sem_prag.adb,
2071 freeze.adb, sem_ch4.adb, sem_warn.adb, opt.ads, exp_aggr.adb,
2072 prj-conf.adb, sem_ch13.adb: Minor reformatting.
2074 2013-01-04 Thomas Quinot <quinot@adacore.com>
2076 * sinfo.ads: Minor documentation update.
2078 2013-01-04 Thomas Quinot <quinot@adacore.com>
2080 * sem_ch3.adb, einfo.adb (Analyze_Object_Declaration): Do not set Ekind
2081 before resolving initialization expression.
2083 2013-01-04 Hristian Kirtchev <kirtchev@adacore.com>
2085 * checks.adb (Generate_Index_Checks): Delay the generation of
2086 the check for an indexed component where the prefix mentions
2087 Loop_Entry until the attribute has been properly expanded.
2088 * exp_ch5.adb (Expand_Loop_Entry_Attributes): Perform minor
2089 decoration of the constant that captures the value of Loop_Entry's
2090 prefix at the entry point into a loop. Generate index checks
2091 for an attribute reference that has been transformed into an
2094 2013-01-04 Thomas Quinot <quinot@adacore.com>
2096 * exp_prag.adb, exp_util.adb, exp_util.ads, freeze.adb, exp_aggr.adb,
2097 sem_ch13.adb (Exp_Aggr.Collect_Initialization_Statements): Nothing to
2098 do if Obj is already frozen.
2099 (Exp_Util.Find_Init_Call): Rename to...
2100 (Exp_Util.Remove_Init_Call): New subprogram, renamed from
2101 Find_Init_Call. Remove the initialization call from the enclosing
2102 list if found, and if it is from an Initialization_Statements
2103 attribute, reset it.
2104 (Exp_Util.Append_Freeze_Action): Minor code reorganization.
2105 (Exp_Util.Append_Freeze_Actions): Ensure a freeze node has been
2106 allocated (as is already done in Append_Freeze_Action).
2107 (Freeze.Freeze_Entity): For an object with captured
2108 Initialization_Statements and non-delayed freezeing, unwrap the
2109 initialization statements and insert and them directly in the
2111 (Sem_Ch13.Check_Address_Clause): For an object
2112 with Initialization_Statements and an address clause, unwrap the
2113 initialization statements when moving them to the freeze actions.
2115 2013-01-03 Pascal Obry <obry@adacore.com>
2117 * prj-attr.adb, projects.texi, snames.ads-tmpl: Add package remote and
2118 corresponding attibutes.
2120 2013-01-03 Thomas Quinot <quinot@adacore.com>
2122 * exp_aggr.adb: Minor comment improvement.
2124 2013-01-03 Hristian Kirtchev <kirtchev@adacore.com>
2126 * aspects.adb, aspects.ads: Add Aspect_Abstract_State to all the
2128 * einfo.ads, einfo.adb: Add Integrity_Level and Refined_State to
2129 the description of fields (Abstract_States): New routine.
2130 (Integrity_Level): New routine.
2131 (Has_Property): New routine.
2132 (Is_Input_State): New routine.
2133 (Is_Null_State): New routine.
2134 (Is_Output_State): New routine.
2135 (Is_Volatile_State): New routine.
2136 (Refined_State): New routine.
2137 (Set_Abstract_States): New routine.
2138 (Set_Integrity_Level): New routine.
2139 (Set_Refined_State): New routine.
2140 (Write_Field8_Name): Add proper output for E_Abstract_State.
2141 (Write_Field9_Name): Add proper output for E_Abstract_State.
2142 (Write_Field25_Name): Add proper output for E_Package.
2143 * lib-xref.ads: Add new letter for an abstract state.
2144 * par-prag.adb: Add pragma Abstract_State to the list of pragma
2145 that do not need special processing by the parser.
2146 * sem_ch13.adb (Analyze_Aspect_Specifications): Convert
2147 aspect Abstract_State into a pragma without any form
2148 of legality checks. The work is done by Analyze_Pragma.
2149 (Check_Aspect_At_Freeze_Point): Aspect Abstract_State does not
2150 require delayed analysis.
2151 * sem_prag.adb: Add a value for pragma Abstract_State in table
2153 (Analyze_Pragma): Add legality checks for pragma
2154 Abstract_State. Analysis of individual states introduces a state
2155 abstraction entity into the visibility chain.
2156 * snames.ads-tmpl: Add new names for abstract state and
2157 integrity. Add new pragma id for abstract state.
2159 2013-01-03 Bob Duff <duff@adacore.com>
2161 * table.adb (Reallocate): Calculate new Length in
2162 Long_Integer to avoid overflow.
2164 2013-01-03 Thomas Quinot <quinot@adacore.com>
2166 * sem_ch3.adb, sinfo.ads, freeze.adb, sem_ch4.adb, exp_aggr.adb
2167 (Sem_Ch3.Analyze_Object_Declaration): Set Ekind early so that
2168 it is set properly when expanding the initialization expression.
2169 (Freeze.Check_Address_Clause): Transfer initialization expression
2170 to an assignment in the freeze actions, so that the object is
2171 initialized only after being elaborated by GIGI.
2172 (Sinfo (comments), Sem_Ch4.Analyze_Expression_With_Actions): Allow
2173 a Null_Statement as the expression in an Expression_With_Actions.
2174 (Exp_Aggr.Collect_Initialization_Statements): New subprogram
2175 shared by expansion of record and array aggregates, used to
2176 capture statements for an aggregate used to initalize an object
2177 into an Expression_With_Actions (which acts as a container for
2179 (Exp_Aggr.Convert_Aggr_In_Obj_Decl): Use the above to
2180 capture initialization statements, instead of the previously
2181 existing loop which left freeze nodes out of the capturing
2182 construct (causing out of order elaboration crashes in GIGI).
2183 (Exp_Aggr.Expand_Array_Aggregate): Use the above to capture
2184 initialization statements (this was previously not done for
2185 arrays). Also do not unconditionally prevent in place expansion
2186 for an object with address clause.
2188 2013-01-03 Thomas Quinot <quinot@adacore.com>
2190 * gnat_rm.texi, freeze.adb (Check_Component_Storage_Order): Check that
2191 a record extension has the same scalar storage order as the parent type.
2193 2013-01-03 Thomas Quinot <quinot@adacore.com>
2195 * exp_ch4.adb: Add comment.
2197 2013-01-03 Vincent Celier <celier@adacore.com>
2199 * prj.adb: Minor spelling error correction in comment.
2201 2013-01-03 Vincent Celier <celier@adacore.com>
2203 * gnatcmd.adb (GNATCmd): If a single main has been specified
2204 as an absolute path, use its simple file name to find specific
2205 switches, instead of the absolute path.
2207 2013-01-03 Javier Miranda <miranda@adacore.com>
2209 * sem_warn.adb (Warn_On_Overlapping_Actuals): For overlapping
2210 parameters that are record types or array types generate warnings
2211 only compiling under -gnatw.i
2212 * opt.ads (Extensions_Allowed): Restore previous documentation.
2214 2013-01-03 Vincent Celier <celier@adacore.com>
2216 * prj-conf.adb (Do_Autoconf): If Target is specified in the
2217 main project, but not on the command line, use the Target in
2218 the project to invoke gprconfig in auto-configuration.
2219 * makeutl.ads (Default_Config_Name): New constant String.
2221 2013-01-03 Arnaud Charlet <charlet@adacore.com>
2223 * usage.adb: Minor: fix typo in usage.
2225 2013-01-03 Thomas Quinot <quinot@adacore.com>
2227 * sem_ch13.adb (Analyze_Record_Representation_Clause): Reject
2228 an illegal component clause for an inherited component in a
2231 2013-01-03 Emmanuel Briot <briot@adacore.com>
2233 * xref_lib.adb (Parse_Identifier_Info): Fix handling of arrays, which
2234 have information in the ALI file for both the index and the component
2237 2013-01-03 Emmanuel Briot <briot@adacore.com>
2239 * projects.texi: Fix error in documenting the project path
2240 computed for an aggregate project.
2242 2013-01-03 Javier Miranda <miranda@adacore.com>
2244 * sem_warn.adb (Warn_On_Overlapping_Actuals): Adding documentation
2245 plus restricting the functionality of this routine to cover the
2246 cases described in the Ada 2012 reference manual. The previous
2247 extended support is now available under -gnatX.
2248 * s-tassta.adb (Finalize_Global_Tasks): Addition of a dummy
2249 variable to call Timed_Sleep. Required to avoid warning on
2250 overlapping out-mode actuals.
2251 * opt.ads (Extensions_Allowed): Update documentation.
2253 2013-01-03 Tristan Gingold <gingold@adacore.com>
2255 * s-arit64.ads: Use Multiply_With_Ovflo_Check as __gnat_mulv64.
2257 * gcc-interface/Makefile.in: Remove reference to arit64.c.
2259 2013-01-03 Thomas Quinot <quinot@adacore.com>
2261 * checks.adb, checks.ads (Apply_Address_Clause_Check): The check must
2262 be generated at the start of the freeze actions for the entity, not
2263 before (or after) the freeze node.
2265 2013-01-03 Thomas Quinot <quinot@adacore.com>
2267 * exp_aggr.adb (Exp_Aggr.Convert_Aggregate_In_Obj_Decl):
2268 Reorganize code to capture initialization statements in a block,
2269 so that freeze nodes are excluded from the captured block.
2271 2013-01-03 Thomas Quinot <quinot@adacore.com>
2273 * exp_ch11.adb: Minor reformatting.
2275 2013-01-03 Thomas Quinot <quinot@adacore.com>
2277 * exp_util.adb, einfo.adb, einfo.ads, freeze.adb, exp_aggr.adb,
2278 sem_ch13.adb (Einfo.Initialization_Statements,
2279 Einfo.Set_Initialization_Statements): New entity attribute
2281 (Exp_Util.Find_Init_Call): Handle case of an object initialized
2282 by an aggregate converted to a block of assignment statements.
2283 (Freeze.Check_Address_Clause): Do not clear Has_Delayed_Freeze
2284 even for objects that require a constant address, because the
2285 address expression might involve entities that have yet to be
2286 elaborated at the point of the object declaration.
2287 (Exp_Aggr.Convert_Aggregate_In_Obj_Decl): For a type that does
2288 not require a transient scope, capture the assignment statements
2289 in a block so that they can be moved down after elaboration of
2290 an address clause if needed.
2291 (Sem_Ch13.Check_Constant_Address_Clause.Check_Expr_Constants,
2292 case N_Unchecked_Conversion): Do not replace operand subtype with
2293 its base type as this violates a GIGI invariant if the operand
2294 is an identifier (in which case the etype of the identifier
2295 is expected to be equal to that of the denoted entity).
2297 2013-01-03 Javier Miranda <miranda@adacore.com>
2299 * sem_util.ads, sem_util.adb (Denotes_Same_Object): Extend the
2300 functionality of this routine to cover cases described in the Ada 2012
2303 2013-01-03 Ed Schonberg <schonberg@adacore.com>
2305 * sem_elab.adb (Set_Elaboration_Constraint): Handle properly
2306 a 'Access attribute reference when the subprogram is called
2309 2013-01-03 Arnaud Charlet <charlet@adacore.com>
2311 * s-tpobop.adb (PO_Do_Or_Queue): Refine assertion, since a
2312 select statement may be called from a controlled (e.g. Initialize)
2313 operation and have abort always deferred.
2315 2013-01-03 Robert Dewar <dewar@adacore.com>
2317 * sem_ch8.adb, einfo.ads, einfo.adb: Minor code reorganization.
2319 2013-01-03 Javier Miranda <miranda@adacore.com>
2321 * exp_ch3.adb (Make_Controlling_Function_Wrappers): Exclude
2322 internal entities associated with interfaces and add minimum
2323 decoration to the defining entity of the generated wrapper to
2324 allow overriding interface primitives.
2325 * sem_disp.ads (Override_Dispatching_Operation): Addition of a
2326 new formal (Is_Wrapper).
2327 * sem_disp.adb (Override_Dispatching_Operation): When overriding
2328 interface primitives the new formal helps identifying that the
2329 new operation is not fully decorated.
2331 2013-01-03 Thomas Quinot <quinot@adacore.com>
2333 * sem_ch7.adb, sem_ch10.adb, einfo.adb, einfo.ads, sem_ch12.adb,
2334 rtsfind.adb, sem_elab.adb, sem_ch4.adb, sem_ch8.adb
2335 (Einfo.Is_Visible_Child_Unit, Einfo.Set_Is_Visible_Child_Unit):
2336 Rename to Is_Visible_Lib_Unit, Set_Is_Visible_Lib_Unit, and
2337 update spec accordingly (now also applies to root library units).
2338 (Sem_Ch10.Analyze_Subunit.Analyze_Subunit_Context): Toggle above flag
2339 on root library units, not only child units.
2340 (Sem_Ch10.Install[_Limited]_Withed_Unit): Same.
2341 (Sem_Ch10.Remove_Unit_From_Visibility): Reset Is_Visible_Lib_Unit
2342 even for root library units.
2343 (Sem_Ch8.Find_Expanded_Name): A selected component form whose prefix is
2344 Standard is an expanded name for a root library unit.
2346 2013-01-03 Thomas Quinot <quinot@adacore.com>
2348 * exp_ch3.adb: Minor reformatting.
2350 2013-01-03 Olivier Hainque <hainque@adacore.com>
2352 * tracebak.c: Reinstate changes to support ppc-lynx178.
2354 2013-01-03 Ed Schonberg <schonberg@adacore.com>
2356 * atree.ads: Minor reformatting and documentation enhancement.
2358 2013-01-03 Ed Schonberg <schonberg@adacore.com>
2360 * exp_ch3.adb (Expand_N_Object_Declaration): If the object has
2361 a class-wide type and a renaming declaration is created for it,
2362 preserve entity chain, which already contains generated internal
2363 types. This ensures that freezing actions are properly generated
2364 for all objects declared subsequently in the same scope, and
2365 that debugging information is generated for them.
2366 * sem_util.adb, sem_util.ads (we): New debugging routine, to
2367 display entity chain of a given scope.
2369 2013-01-03 Robert Dewar <dewar@adacore.com>
2371 * exp_intr.adb: Minor reformatting.
2373 2013-01-03 Robert Dewar <dewar@adacore.com>
2375 * einfo.adb: Minor reformatting.
2377 2013-01-03 Pascal Obry <obry@adacore.com>
2379 * adaint.c, adaint.h (__gnat_get_module_name): Removed.
2380 (__gnat_is_module_name_supported): Removed.
2381 * s-win32.ads: Add some needed definitions.
2382 * g-trasym.ads: Update comments.
2384 2013-01-03 Robert Dewar <dewar@adacore.com>
2386 * layout.adb (Set_Composite_Alignment): Fix problems of
2387 interactions with Optimize_Alignment set to Space.
2389 2013-01-03 Thomas Quinot <quinot@adacore.com>
2391 * exp_disp.adb: Minor reformatting.
2393 2013-01-02 Richard Biener <rguenther@suse.de>
2396 * gcc-interface/Makefile.in: Add $(GMPINC) to includes.
2398 2013-01-02 Thomas Quinot <quinot@adacore.com>
2400 * exp_intr.adb (Expand_Dispatching_Constructor_Call): Remove
2401 side effects from Tag_Arg early, doing it too late may cause a
2402 crash due to inconsistent Parent link.
2403 * sem_ch8.adb, einfo.ads: Minor reformatting.
2405 2013-01-02 Robert Dewar <dewar@adacore.com>
2407 * einfo.ads, einfo.adb (Has_Independent_Components): New flag.
2408 * freeze.adb (Size_Known): We do not know the size of a packed
2409 record if it has atomic components, by reference type components,
2410 or independent components.
2411 * sem_prag.adb (Analyze_Pragma, case Independent_Components): Set new
2412 flag Has_Independent_Components.
2414 2013-01-02 Yannick Moy <moy@adacore.com>
2416 * opt.ads (Warn_On_Suspicious_Contract): Set to True by default.
2417 * usage.adb (Usage): Update usage message.
2419 2013-01-02 Pascal Obry <obry@adacore.com>
2421 * adaint.c (__gnat_is_module_name_supported): New constant.
2423 2013-01-02 Ed Schonberg <schonberg@adacore.com>
2425 * sem_attr.adb (Check_Array_Type): Reject an attribute reference on an
2426 array whose component type does not have a completion.
2428 2013-01-02 Geert Bosch <bosch@adacore.com>
2430 * a-nllcef.ads, a-nlcefu.ads, a-nscefu.ads: Make Pure.
2432 2013-01-02 Robert Dewar <dewar@adacore.com>
2434 * par_sco.adb: Minor reformatting.
2436 2013-01-02 Javier Miranda <miranda@adacore.com>
2438 * sem_aggr.adb (Resolve_Array_Aggregate): Remove dead code.
2440 2013-01-02 Olivier Hainque <hainque@adacore.com>
2442 * a-exctra.ads (Get_PC): New function.
2444 2013-01-02 Thomas Quinot <quinot@adacore.com>
2446 * sem_ch8.adb: Minor reformatting.
2448 2013-01-02 Thomas Quinot <quinot@adacore.com>
2450 * sem_ch7.adb: Minor reformatting.
2452 2013-01-02 Thomas Quinot <quinot@adacore.com>
2454 * freeze.adb (Check_Component_Storage_Order): Do not crash on
2457 2013-01-02 Robert Dewar <dewar@adacore.com>
2459 * gnat1drv.adb, targparm.adb, targparm.ads: Minor name change: add
2460 On_Target to Atomic_Sync_Default.
2462 2013-01-02 Robert Dewar <dewar@adacore.com>
2464 * sem_warn.adb (Warn_On_Known_Condition): Suppress warning for
2465 comparison of attribute result with constant
2466 * a-ststio.adb, s-direio.adb, s-rannum.adb: Remove unnecessary pragma
2467 Warnings (Off, "..");
2469 2013-01-02 Yannick Moy <moy@adacore.com>
2471 * sem_prag.ads: Minor correction of comment.
2473 2013-01-02 Thomas Quinot <quinot@adacore.com>
2475 * par_sco.adb (Traverse_Package_Declaration): The first
2476 declaration in a nested package is dominated by the preceding
2477 declaration in the enclosing scope.
2479 2013-01-02 Pascal Obry <obry@adacore.com>
2481 * adaint.c, adaint.h (__gnat_get_module_name): Return the actual
2482 module containing a given address.
2484 2013-01-02 Thomas Quinot <quinot@adacore.com>
2486 * sem_ch3.adb: Minor reformatting.
2488 2013-01-02 Pascal Obry <obry@adacore.com>
2490 * cstreams.c (__gnat_ftell64): New routine. Use _ftelli64 on
2491 Win64 and default to ftell on other platforms.
2492 (__gnat_fsek64): Likewise.
2493 * i-cstrea.ads: Add fssek64 and ftell64 specs.
2494 * s-crtl.ads: Likewise.
2495 * a-ststio.adb, s-direio.adb (Size): Use 64 bits version when required.
2496 (Set_Position): Likewise.
2498 2013-01-02 Thomas Quinot <quinot@adacore.com>
2500 * par_sco.adb: Generate X SCOs for default expressions in
2501 subprogram body stubs. Do not generate any SCO for package,
2502 task, or protected body stubs.
2504 2013-01-02 Ed Schonberg <schonberg@adacore.com>
2506 * sem_ch3.adb: Further improvement to ASIS mode for anonymous
2507 access to protected subprograms.
2509 2013-01-02 Robert Dewar <dewar@adacore.com>
2511 * par_sco.adb, vms_data.ads: Minor reformatting.
2513 2013-01-02 Thomas Quinot <quinot@adacore.com>
2515 * par_sco.adb (Traverse_Declarations_Or_Statement): Function
2516 form, returning value of Current_Dominant upon exit, for chaining
2518 (Traverse_Declarations_Or_Statement.Traverse_One, case
2519 N_Block_Statement): First statement is dominated by last declaration.
2520 (Traverse_Subprogram_Or_Task_Body): Ditto.
2521 (Traverse_Package_Declaration): First private
2522 declaration is dominated by last visible declaration.
2523 (Traverse_Sync_Definition): Ditto.
2525 2013-01-02 Thomas Quinot <quinot@adacore.com>
2527 * gnat_rm.texi: Restrict the requirement for Scalar_Storage_Order
2528 matching Bit_Order to record types only, since array types do not
2531 2013-01-02 Vincent Celier <celier@adacore.com>
2533 * gnat_ugn.texi: Remove documentation of -gnateO, which is an
2535 * usage.adb: Indicate that -gnateO is an internal switch.
2537 2013-01-02 Thomas Quinot <quinot@adacore.com>
2539 * par_sco.adb: Add SCO generation for task types and single
2541 * get_scos.adb: When adding an instance table entry for a
2542 non-nested instantiation, make sure the Enclosing_Instance is
2545 2013-01-02 Hristian Kirtchev <kirtchev@adacore.com>
2547 * sem_attr.adb (Analyze_Attribute): Skip the special _Parent
2548 scope generated for subprogram inlining purposes while trying
2549 to locate the enclosing function.
2550 * sem_prag.adb (Analyze_Pragma): Preanalyze the boolean
2551 expression of pragma Postcondition when the pragma comes from
2552 source and appears inside a subprogram body.
2554 2013-01-02 Thomas Quinot <quinot@adacore.com>
2556 * switch-c.adb, fe.h, back_end.adb: Enable generation of instantiation
2557 information in debug info unconditionally when using -fdump-scos,
2558 instead of relying on a separate command line switch -fdebug-instances.
2559 * gcc-interface/Make-lang.in: Update dependencies.
2561 2013-01-02 Ed Schonberg <schonberg@adacore.com>
2563 * sem_ch12.adb: Additional refinement of predicate.
2565 2013-01-02 Vincent Celier <celier@adacore.com>
2567 * vms_data.ads: Remove incorrect spaces at end of descriptions
2568 of qualifiers for single switch.
2570 2013-01-02 Ben Brosgol <brosgol@adacore.com>
2572 * gnat_rm.texi: Minor edits / wordsmithing in section on pragma
2573 Check_Float_Overflow.
2575 2013-01-02 Thomas Quinot <quinot@adacore.com>
2577 * sprint.adb (Sprint_Node_Actual): Do not add extra parens for
2578 a conditional expression (CASE or IF expression) that already
2579 has parens. Also omit ELSE keyword for an IF expression without
2582 2013-01-02 Thomas Quinot <quinot@adacore.com>
2584 * gnat1drv.adb (Adjust_Global_Switches): Adjust back-end
2585 flag_debug_instances here, after front-end switches have been
2588 2013-01-02 Vincent Celier <celier@adacore.com>
2590 * usage.adb: Minor reformatting.
2592 2013-01-02 Arnaud Charlet <charlet@adacore.com>
2594 * opt.ads: Fix typo.
2596 2013-01-02 Thomas Quinot <quinot@adacore.com>
2598 * par_sco.adb: Generate P decision SCOs for SPARK pragmas
2599 Assume and Loop_Invariant.
2601 2013-01-02 Robert Dewar <dewar@adacore.com>
2603 * vms_data.ads: Add entry for Float_Check_Valid (-gnateF).
2604 * ug_words: Add entry for Float_Check_Overflow.
2605 * usage.adb: Minor reformatting.
2606 * gnat_ugn.texi: Add documentation for -gnateF (Check_Float_Overflow).
2608 2013-01-02 Vincent Celier <celier@adacore.com>
2610 * gnat_ugn.texi: Add documentation for switches -gnateA, -gnated,
2611 -gnateO=, -gnatet and -gnateV.
2612 * ug_words: Add qualifiers equivalent to -gnateA, -gnated,
2613 -gnatet and -gnateV.
2614 * usage.adb: Add lines for -gnatea, -gnateO and -gnatez.
2615 * vms_data.ads: Add new compiler qualifiers /ALIASING_CHECK
2616 (-gnateA), /DISABLE_ATOMIC_SYNCHRONIZATION (-gnated),
2617 /PARAMETER_VALIDITY_CHECK (-gnateV) and /TARGET_DEPENDENT_INFO
2620 2013-01-02 Robert Dewar <dewar@adacore.com>
2622 * checks.adb (Apply_Scalar_Range_Check): Implement Check_Float_Overflow.
2623 * opt.ads, opt.adb: Handle flags Check_Float_Overflow[_Config].
2624 * par-prag.adb: Add dummy entry for pragma Check_Float_Overflow.
2625 * sem_prag.adb: Implement pragma Check_Float_Overflow.
2626 * snames.ads-tmpl: Add entries for pragma Check_Float_Overflow.
2627 * switch-c.adb: Recognize -gnateF switch.
2628 * tree_io.ads: Update ASIS version number.
2629 * gnat_rm.texi: Add documentation of pragma Check_Float_Overflow.
2631 2013-01-02 Robert Dewar <dewar@adacore.com>
2633 * checks.adb, exp_ch4.adb, exp_ch6.adb, exp_ch7.adb, exp_ch9.adb,
2634 exp_disp.adb, exp_dist.adb, exp_intr.adb, exp_prag.adb, exp_util.adb,
2635 freeze.adb, gnat1drv.adb, inline.adb, layout.adb, lib-xref.adb,
2636 par-ch10.adb, par-labl.adb, par-load.adb, par-util.adb, restrict.adb,
2637 sem_ch13.adb, sem_ch4.adb, sem_ch6.adb, sem_dim.adb, sem_elab.adb,
2638 sem_res.adb, sem_warn.adb, sinput-l.adb: Add tags to warning messages.
2639 * sem_ch6.ads, warnsw.ads, opt.ads: Minor comment updates.
2641 2013-01-02 Robert Dewar <dewar@adacore.com>
2643 * err_vars.ads: Minor comment fix.
2645 2013-01-02 Ed Schonberg <schonberg@adacore.com>
2647 * sem_ch12.adb: Refine predicate.
2649 2013-01-02 Robert Dewar <dewar@adacore.com>
2651 * errout.ads: Minor comment fixes.
2652 * opt.ads: Minor comment additions.
2653 * exp_aggr.adb: Add tags to warning messages
2654 * exp_ch11.adb, exp_ch3.adb, exp_ch4.adb, exp_util.adb, sem_aggr.adb,
2655 sem_attr.adb, sem_case.adb, sem_cat.adb, sem_ch3.adb, sem_ch4.adb,
2656 sem_ch5.adb, sem_disp.adb, sem_dist.adb, sem_elab.adb, sem_eval.adb,
2657 sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb, sem_util.adb,
2658 sem_warn.adb: Add tags to warning messages
2660 2013-01-02 Doug Rupp <rupp@adacore.com>
2662 * init.c [VMS] Remove subtest on reason mask for ACCVIO that is a C_E.
2664 2013-01-02 Ed Schonberg <schonberg@adacore.com>
2666 * sem_ch12.adb: Recover source name for renamed packagea.
2668 2013-01-02 Robert Dewar <dewar@adacore.com>
2670 * errout.adb (Set_Msg_Insertion_Warning): Correct typo causing
2671 tests to fail if insertion sequence is at end of message string.
2672 * opt.ads: Minor comment fixes and additions.
2673 * sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_ch10.adb, sem_ch11.adb,
2674 sem_ch12.adb, sem_ch13.adb: Add tags to warning messages.
2675 * sem_ch6.ads, sem_ch6.adb (Cannot_Inline): Deal with warning message
2676 tags. Add tags to warning messages.
2678 2013-01-02 Robert Dewar <dewar@adacore.com>
2680 * err_vars.ads (Warning_Doc_Switch): New flag.
2681 * errout.adb (Error_Msg_Internal): Implement new warning flag
2682 doc tag stuff (Set_Msg_Insertion_Warning): New procedure.
2683 * errout.ads: Document new insertion sequences ?? ?x? ?.x?
2684 * erroutc.adb (Output_Msg_Text): Handle ?? and ?x? warning doc
2686 * erroutc.ads (Warning_Msg_Char): New variable.
2687 (Warn_Chr): New field in error message object.
2688 * errutil.adb (Error_Msg): Set Warn_Chr in error message object.
2689 * sem_ch13.adb: Minor reformatting.
2690 * warnsw.adb: Add handling for -gnatw.d and -gnatw.D
2691 (Warning_Doc_Switch).
2692 * warnsw.ads: Add handling of -gnatw.d/.D switches (warning
2695 2013-01-02 Robert Dewar <dewar@adacore.com>
2697 * opt.ads: Minor reformatting.
2699 2013-01-02 Doug Rupp <rupp@adacore.com>
2701 * init.c: Reorganize VMS section.
2702 (scan_condtions): New function for scanning condition tables.
2703 (__gnat_handle_vms_condtion): Use actual exception name for imported
2704 exceptions vice IMPORTED_EXCEPTION.
2705 Move condition table scanning into separate function. Move formerly
2706 special handled conditions to system condition table. Use SYS$PUTMSG
2707 output to fill exception message field for formally special handled
2708 condtions, in particular HPARITH to provide more clues about cause and
2709 location then raised from the translated image.
2711 2013-01-02 Thomas Quinot <quinot@adacore.com>
2713 * sem_ch13.adb (Analyze_Aspect_Specifications): For a Pre/Post
2714 aspect that applies to a library subprogram, prepend corresponding
2715 pragma to the Pragmas_After list, in order for split AND THEN
2716 sections to be processed in the expected order.
2718 2013-01-02 Thomas Quinot <quinot@adacore.com>
2720 * exp_prag.adb (Expand_Pragma_Check): The statements generated
2721 for the pragma must have the sloc of the pragma, not the
2722 sloc of the condition, otherwise this creates anomalies in the
2723 generated debug information that confuse coverage analysis tools.
2725 2013-01-02 Thomas Quinot <quinot@adacore.com>
2727 * sem_ch13.adb: Minor reformatting.
2729 2013-01-02 Arnaud Charlet <charlet@adacore.com>
2731 * g-excact.ads (Core_Dump): Clarify that this subprogram does
2732 not dump cores under Windows.
2734 2013-01-02 Ed Schonberg <schonberg@adacore.com>
2736 * sem_ch8.adb (Analyze_Primitive_Renamed_Operation): The prefixed
2737 view of a subprogram has convention Intrnnsic, and a renaming
2738 of a prefixed view cannot be the prefix of an Access attribute.
2740 2013-01-02 Robert Dewar <dewar@adacore.com>
2742 * restrict.adb: Minor reformatting.
2744 2013-01-02 Thomas Quinot <quinot@adacore.com>
2746 * exp_prag.adb: Minor reformatting.
2748 2013-01-02 Ed Schonberg <schonberg@adacore.com>
2750 * sem_ch12.adb (Get_Associated_Node): If the node is an
2751 identifier that denotes an unconstrained array in an object
2752 declaration, it is rewritten as the name of an anonymous
2753 subtype whose bounds are given by the initial expression in the
2754 declaration. When checking whether that identifier is global
2755 reference, use the original node, not the local generated subtype.
2757 2013-01-02 Olivier Hainque <hainque@adacore.com>
2759 * tracebak.c: Revert previous change, incomplete.
2761 2013-01-02 Ed Schonberg <schonberg@adacore.com>
2763 * sem_ch13.adb (Analyze_Aspect_Specifications): If the aspect
2764 appears on a subprogram body that acts as a spec, place the
2765 corresponding pragma in the declarations of the body, so that
2766 e.g. pre/postcondition checks can be generated appropriately.
2768 2013-01-02 Robert Dewar <dewar@adacore.com>
2770 * sem_ch3.adb: Minor reformatting and code reorganization.
2772 2013-01-02 Vincent Celier <celier@adacore.com>
2774 * switch-m.adb (Normalize_Compiler_Switches): Record the
2775 complete switch -fstack-check=specific instead of its shorter
2776 alias -fstack-check.
2778 2013-01-02 Ed Schonberg <schonberg@adacore.com>
2780 * sem_ch3.adb (Derive_Subprogram): Enforce RM 6.3.1 (8):
2781 if the derived type is a tagged generic formal type with
2782 unknown discriminants, the inherited operation has convention
2783 Intrinsic. As such, the 'Access attribute cannot be applied to it.
2785 2013-01-02 Thomas Quinot <quinot@adacore.com>
2787 * sem_attr.adb: Minor reformatting.
2789 2013-01-02 Thomas Quinot <quinot@adacore.com>
2791 * par_sco.adb: Add SCO generation for S of protected types and
2792 single protected object declarations.
2794 2013-01-02 Robert Dewar <dewar@adacore.com>
2796 * sem_eval.adb, osint.ads: Minor reformatting.
2798 2013-01-02 Hristian Kirtchev <kirtchev@adacore.com>
2800 * sem_prag.adb (Analyze_Pragma): Check the legality of pragma Assume.
2802 2013-01-02 Thomas Quinot <quinot@adacore.com>
2804 * sem_eval.adb (Compile_Time_Compare): For static operands, we
2805 can perform a compile time comparison even if in preanalysis mode.
2807 2013-01-02 Thomas Quinot <quinot@adacore.com>
2809 * par_sco.adb (SCO_Record): Always use
2810 Traverse_Declarations_Or_Statements to process the library level
2811 declaration, so that SCOs are properly generated for its aspects.
2813 2013-01-02 Thomas Quinot <quinot@adacore.com>
2815 * scos.ads (In_Decision): Add missing entry for 'a'.
2816 * sem_prag.adb (Analyze_Pragma, case pragma Check): Omit
2817 call to Set_SCO_Pragma_Enabled for Invariant and Predicate.
2818 * sem_ch13.adb: Minor comment update.
2820 Copyright (C) 2013 Free Software Foundation, Inc.
2822 Copying and distribution of this file, with or without modification,
2823 are permitted in any medium without royalty provided the copyright
2824 notice and this notice are preserved.