Rationale for Ada 2012
9.1 Compatibility
There are two main sorts of problems regarding compatibility.
These are termed Incompatibilities and Inconsistencies.
An incompatibility is a situation where a legal Ada
2005 program is illegal in Ada 2012. These can be annoying but not a
disaster since the compiler automatically detects such situations.
An inconsistency is where a legal Ada 2005 program
is also a legal Ada 2012 program but might have a different effect at
execution time. These can in principle be really nasty but typically
the program is actually wrong anyway (in the sense that it does not do
what the programmer intended) or its behaviour depends upon the raising
of a predefined exception (which is generally considered poor style)
or the situation is extremely unlikely to occur.
As mentioned below in Section
9.2,
during the development of Ada 2012 a number of corrections were made
to Ada 2005 and these resulted in some incompatibilities and inconsistencies
with the original Ada 2005 standard. These are not considered to be incompatibilities
or inconsistencies between Ada 2005 and Ada 2012 and so are not covered
in this section.
© 2011, 2012, 2013 John Barnes Informatics.
Sponsored in part by: