DDC-I Logo

Sitemap  

DDC-I Ada Compiler System  
How the TADS compiler handles elaboration code/sections

Product Family: TADS
Target CPU: 1750A, 68xxx, i960
Language: Ada
Host: PC/Windows, Sparc/Solaris, VAX/VMS

The compiler creates at least two data sections for any package spec/body combination: ADA#GLOBAL and ADA#OWN. The first data section will contain all elaboration flags for package level sub-programs, as well as any package specification variables. The second data section will contain any global variables, local to the package body. The compiler also uses two elaboration routines, to elaborate this package spec/body: $$DECLARE and $$BODY. The first elaboration routine will initialize all the package specification variables and zero out all of the sub-program elaboration flags. The second routine will initialize all package body variables and set the sub-program elaboration flags. When package spec/body are compiled with "-SE", all elaboration checks for the current module are suppressed, meaning that if package A was compiled with "-SE" and package B called a sub-program in A, then B would not check the elaboration flag for the corresponding sub-program in A. If the librarian is used to link, it will determine the "closure" of the main compilation unit and generate

.etof, which will contain a code section, which will contain calls to the ordered elaboration routines for all packages specifications/bodies. When the compiler generates code to check sub-program elaboration, all that is performed is a check of the elaboration flag, which is a direct data reference. Using the 1750a expanded memory runtimes, this check can be problematic, due to a limitation that data references have to be in the same Address State. This limitation is not present in the other targets supported by TADS.

 

Contact
602-275-7172
sales@ddci.com

IDIQ Contract Vehicles:
--------------
AMCOM Express
DESP II
F2AST
R23G

Links

Support

Members Area
    -Member Login/Return
    -Login Help

Atlas Support Packages
    -Atlas Premium
    -Atlas Advantage
    -Atlas Choice

Complimentary Support

Submit a Software Trouble Report

Customer Quote:
"DDC-I has a good solution for us and your willingness to get down to the issues and help us get what we need has made it a clear choice."