- Ada 2012
- Ada 2005 / 95 / 83
- Embedded Development
- Formal Methods
- Open Source
- Safety-Critical Development
- Static Analysis
Sep 28th, 2005
Warning for select/else/delay
The usage "select .. else .. delay .. end select" is very peculiar. Almost certainly the programmer intended to say "select .. or .. delay". A warning is now generated if the select/else/delay sequence is encountered.
Sep 27th, 2005
Better msg for non-modified volatile object
Previously, a confusing warning message was given when volatile non-imported variable is never modified. The warning advised adding constant, but that's wrong in this case, since this would be illegal (RM C.6(13)). The warning is now specialized to advise that in this situation volatile has no effect.
Sep 25th, 2005
Static elab for generic instantiation
Previously, any generic instantiation generated an indication of Elaborate_All desirable. But that is not needed for a subprogram instantiation, since in this case there is no transitive elaboration issue (elaborating the body of a subprogram does nothing other than to make it available to be called). The static elaboration model now indicates that in this case a pragma Elaborate is all that is required. This allows some cases to bind that were previously rejected due to a circularity caused by Elaborate_All.
Sep 24th, 2005
Better protected type debugging support
The compiler and the debugger have been improved to provide better support for debugging protected type subprograms and entries. The debugger now prints the decoded name of both subprograms and entries. It is also now possible to insert a breakpoint inside an entry by using the entry name.
Sep 22nd, 2005
ALI files and lib files in different directories
A new library attribute Library_ALI_Dir is defined for library project files to specify a directory where the ALI files are copied. When this attribute is not defined, ALI files are copied to the directory specified in attribute Library_Dir.
Sep 14th, 2005
Normalized parameter specifications in ASIS
ASIS can now handle normalized forms of subprogram parameter specifications without any limitations.
Sep 13th, 2005
Remove unnecessary run-time checks
The front end now removes some unnecessary access and range checks in code generated by the expander for the assignment of tagged or controlled objects, for which it is known by construction that they will always pass.