• Aucun résultat trouvé

THE CFT77 CONTROL STATEMENT UNDER COS

Dans le document CRAY® COMPUTER SYSTEMS (Page 35-41)

SAVE,DN=MYOUT

1.2.5 THE CFT77 CONTROL STATEMENT UNDER COS

The CFT77 compiler is loaded and executed when a CFT77 control statement is entered interactively or encountered in the JCL file in the $IN

dataset.

Keywords can be in any order. If a keyword and option are omitted from the statement, the compiler uses a default value. If an entry on the control statement is not a recognized keyword, the job is aborted. If a keyword option is unrecognized, duplicated, or in conflict with another option, the job is usually aborted.

A left parenthesis can be used in place of the first comma. A right parenthesis can be used in place of the period. If all options are omitted, a period can be used in place of empty parentheses. Dataset names are limited to 7 alphanumeric characters.

If conflicting list output options appear on the CFT77 control statement, a warning message appears in the log file, and the option is used with the highest precedence as follows:

1. L=O (highest)

2. LIST option

3. M option (includes provision equivalent to S; allows C, X, G) 4. H option

5. G, S, X options

6. CDIR$ (lowest)

Thus, if ON=S is specified, CDIR$ NOLIST is ignored.

Format of the CFT77 control statement:

CFT77, ALLOC=a, B=binarydn, C=caldn, CPu=cpu:hdw, E=msglev, EDN=errordn, I=inputdn, INTEGER=n, L=listingdn, OFF=string, ON=string, OPT=optim, TRUNC=n, DEBUG, INDEF, LIST, STANDARD.

The control statement showing all default values is as follows:

CFT77, ALLOC=STATIC, B=$BLD, E=3, EDN=$OUT, I=$IN, INTEGER=46, L=$OUT, OFF=AFGHJOSX, ON=PQR, OPT=FULL:NOZEROINC, TRUNC=O.

C defaults to no file. The CPU default comes from the operating system, except that CPU=:EMA is always required to make use of additional address space available with EMA hardware. L=$OUT applies only if a listing option such as S appears after ON=; all listing options are disabled by default (see table 1-2).

I

I

I

I

ALLOC=a

Default: STATIC

Specifies the memory allocation method for entities in memory, and supersedes the ALLOC directive. Storage allocation is discussed in subsection 4.5.2. alloc can be one of the following:

alloc

STATIC

STACK

I

B=binarydn

I

Default: $BLD

Description

All memory is statically allocatedt; a stack is not used. Variables in subprograms are not always

preserved between calls, unless the SAVE statement is used (see 4.5.4).

All entities are allocated on a stack except constants and entities in a DATA statement, SAVE statement, or a common block, which are statically allocated.t

Creates dataset binarydn (if i t does not already exist), on which the compiler writes binary load modules. If B=O, no binary load files are written. The B= keyword has no effect if C=caldn also appears;

no binary file is generated.

I

C=caldn

I

Default: No file

Creates dataset caldn (if i t does not already exist) to receive Cray Assembly Language (CAL) output. This file can be manually modified to be input to the CAL assembler. DATA statements are not supported. No binary file is generated with C=cdn, even if B=bdn also appears.

I

CPU=cpu:hdw

I

Default: Obtained from the operating system; but you must include CPU=:EMA to use extra address space on machines with EMA Specifies the mainframe type and optional characteristics of the hardware running the generated code. Because your system's hardware defaults might differ from the generic defaults for a CPU type, the cpu value should be used only for cross-compiling; this is discussed in subsection 1.3. To see what hardware is included on your machine, use the TARGET control statement.

To specify a hardware option when compiling a program to run on the same machine, use the form CPU=:hdw. Multiple hdw options are separated by colons. The hdw options are as follows:

EMA, NOEMA CIGS, NOCIGS VPOP, NOVPOP

Target Machine Does/Does Not Have Extended memory addressing

Compressed index and gather-scatter hardware Vector population count functional unit You must include CPU=:EMA to make use of the extra memory space available on computers equipped with extended memory addressing

(EMA). (This generates overhead.) The extra space is necessary if code plus local data exceeds 2 Mwords or if code plus local data plus Common Memory exceeds 4 Mwords. When your listing says

EMA[<4MW], your machine is equipped with EMA hardware, but you have not used the :EMA option, and are therefore restricted to the

4 Mwords memory size. These options are discussed in more detail in 1.3.

CPU and hardware information can also be specified by the TARGET command in a JCL file (see the COS Reference Manual, publication SR-0011). The TARGET command allows specifying CPU information once for a group of compilations.

I

E=msglev

I

Default: 3 (only WARNING and ERROR messages issued)

Indicates the lowest message level to be issued. For example, E=2 allows CAUTION, WARNING, and FATAL messages to appear. 0 i msglev

< 4. E=O allows all messages, and fatal errors are never suppressed. The message levels are as follows:

Level ~ Description

0 Comment Inefficient programming

1 Note Possible problems with other compilers 2 Caution Possible user error. (Example: no path

to a statement)

3 Warning Probable user error. (Example: an array with too few subscripts)

4 Error Fatal error

I

EDN=errordn

I

Default: $ OUT

Creates dataset errordn (if it does not already exist) to receive error message listings. Messages written to dataset listingdn are not affected.

I

I=inputdn

I

Default: $IN

Specifies the name of the dataset containing Fortran source code to be input to the compiler. The default, $IN, refers to the same dataset that contains the JCL. If the source code is in a different dataset, that dataset must be local; it can be established by a JCL command such as ACCESS (for a Cray-resident dataset) or FETCH or ACQUIRE (for a front-end file).

I

INTEGER=n

I

Default: 46

n can equal 64 or 46, to specify 64-bit or 46-bit integer

arithmetic. 46-bit arithmetic is faster, but 64-bit arithmetic permits larger values. See 3.2. INTEGER supersedes the INTEGER directive.

I

L=listingdn

I

Default: $OUT (only with options or directives shown below)

Creates dataset listingdn (if it does not already exist) to receive listed output. Unlike $OUT, this dataset must be explicitly provided for in the JCL file, such as with a SAVE or DISPOSE command.

Listings are written only when enabled by ON options C, G, H, M, S, or X, which are all off by default (see table 1-2), the LIST keyword, or the LIST directive (see 1.4.4.2). L=O disables all listing

options and directives.

I

OFF=string

I

I

Default: AFGHMJOSX

Disables compile options (see table 1-2); string can include any of the flags listed in table 1-2.

I

ON=string

I

Default: PQR

Enables compile options (see table 1-2); string can include up to 12 characters representing options to be enabled.

I

OPT=optim

I

Default: FULL:NOZEROINC

Specifies optimization options. optim can be FULL, OFF, or NOVECTOR; and ZEROINC or NOZEROINC. The OFF option speeds up compilation considerably, at the expense of execution speed.

FULL, NOVECTOR, OFF

These options cause the compiler to attempt, respectively, all optimizing and vectorizing, scalar optimizing only, and no optimizing or vectorizing. With FULL (the default), compiler directives for vectorizing are recognized. Even when OFF is specified, some proc'esses occur that can be broadly termed "optimizing," such as scheduling and register allocation.

NOZEROINC, ZEROINC

NOZEROINC, the default, improves execution time by assuming that constant increment variables (CIVs) are not

incremented by variables with the value O.

ZEROINC adds runtime checks for zero increments of CIV increments in DO-loops.

I

TRUNC=n

Default: 0

Indicates the number of bits to be truncated; the range is

O~trunc~47. This option specifies truncation for all

floating-point results but does not truncate double-precision

results, function results, or constants. Truncated bits are set to

o.

I

DEBUG

I

Default: No table

Generates symbol table for debugger on the dataset specified by

B=binarydn.

I

INDEF

I

Default: Action is not performed.

Causes allocated but uninitialized memory to be set to an undefined value. This causes an error to occur when an uninitialized variable is used, such as in a floating-point operation or as an array

subscript.

I

LIST

I

Default: No listing or listings selected by other options

Enables all available kinds of output listing except Loopmark (specified by ON=M). These include generated code, full cross-references with unreferenced symbols, and vectorization

information. If LIST is not specified, listings are specified by ON=

options G, H, S, or X (see table 1-2), or by the LIST directive (see 1.4.4.2). The LIST keyword supersedes these; their precedence is discussed in 1.2.1 introduction. Also see the L= keyword.

I

STANDARD

I

Default: Extensions are not noted.

Notes extensions to Fortran 77 syntax.

Dans le document CRAY® COMPUTER SYSTEMS (Page 35-41)