Rationale for Ada 2012

John Barnes
Contents   Index   References   Search   Previous   Next 

9.2.2 Inconsistencies with original Ada 2005

There are a small number of inconsistencies between the original Ada 2005 and that resulting from various corrections.
1 — The description of Dependent_Tag has been changed to say that it must raise Tag_Error if there is more than one type that matches the requirements. (AI-113, 3.9)
2 — A curious omission regarding checking arrays allows a component in an aggregate whose value is given as <> even if the component is outside the bounds. It is now clarified that Constraint_Error is raised. (AI-37, 4.3.3)
3 — The first procedure Split in Ada.Calendar.Formatting raises Time_Error for a value of exactly 86400.0. This was unspecified in Ada 2005. (AI-238, 9.6.1)
4 — An address attribute with a prefix of a generic formal subprogram whose actual parameter has convention Intrinsic now raises Program_Error. (AI-95, 13.3)
5 — User specified external tags that conflict with other external tags now raise Program_Error or are illegal. (AI-113, 13.3)
6 — The definition of Set_Line is corrected. As originally defined in Ada 95 and Ada 2005, Set_Line(1) could call New_Line(0) which would raise Constraint_Error which is unhelpful. This was mentioned right at the end of the Postscript in the Rationale for Ada 2005 [15]. (AI-38, A.10.5)
7 — The definitions of Start_Search, Search, Delete_Directory, and Rename are clarified so that they raise the correct exception if misused. (AI-231, A.16)
8 — If Count = 0 for a container Insert subprogram that has a Position parameter, the Position parameter is set to the value of the Before parameter by the call. The original wording remained silent on this. (AI-257, A.18.3)

Contents   Index   References   Search   Previous   Next 
© 2011, 2012, 2013 John Barnes Informatics.
Sponsored in part by:
The Ada Resource Association:


and   Ada-Europe: