FORTRAN Reference Manual
Compiler Directives
FORTRAN Reference Manual—528615-001
10-43
LARGEDATA Compiler Directive
•
Specifying LARGEDATA automatically selects EXTENDEDREF.
•
If a LARGEDATA directive appears anywhere in the compiler’s input, at least one 
EXTENDEDREF, LARGECOMMON, or LARGEDATA directive must precede the 
first FORTRAN statement. You cannot use the LARGEDATA directive in a 
compilation that uses the NOEXTENDEDREF directive.
•
You cannot use the LARGEDATA directive for FORTRAN program units executed 
from a user library object file or from the system library.
•
Do not use the LARGEDATA directive in programs that call Guardian procedures 
(for example, the SEGMENT_ALLOCATE_ procedure) to allocate extended data 
space. Your direct handling of extended data space through calls to Guardian 
procedures can interfere with the memory management required for the 
LARGEDATA directive. Use LARGEDATA directives, not Guardian procedure calls, 
if your program needs extended data space.
Program Conversion Considerations
When converting an existing FORTRAN program to run on HP NonStop systems, you 
should not use a LARGEDATA directive at first. If execution ends with a “stack 
overflow” error, try adding a LARGEDATA directive with no items at the beginning of 
the source program.
If “stack overflow” still occurs, consider the following:
•
You might be executing a recursive procedure for which the termination condition is 
never met.
•
You might need to use SAVE statements to make some local variables static.
•
You might need to use the LARGESTACK directive to specify the size of the 
extended stack area.
If the program runs correctly but is too large or too slow, consider replacing the blank 
LARGEDATA directive with a set of more specific ones.
Examples
?LARGEDATA (names, addresses, birth)
?LARGEDATA 128










