Compaq KAP Fortran/OpenMP
for Tru64
UNIX
User Guide
F.2.11 Output Translation (OT)
- The name "#1" has been used to remove a
KAP-inserted intrinsic conflict. This statement was recognized
as having at least one variable that is in conflict with intrinsic
names inserted by KAP. The translator renamed the conflicting variable
name or names to remove this naming problem.
- Statement was converted from array notation to serial
form. This statement was converted from array notation into
serial form and a DO loop is created around it.
F.2.12 Output Trans Fails (OTF)
- KAP intrinsic function could not be inserted because of a
name conflict. An attempt was made to change an intrinsic
function call in this statement to a KAP "intrinsic," but the
attempt failed because the name of the intrinsic had already been used
in a conflicting way. You can rename the variable that causes the
conflict, if possible.
- Optimization inhibited: the COMMON block name
"#1" cannot be renamed. Page 18-2 lines 45-54 of the
X3J3 ANSI Fortran 77 specification states that a COMMON block name may
not conflict with an intrinsic function name in the same program unit.
This program unit has a COMMON block with the same name as an intrinsic
function inserted by KAP. KAP attempts to correct a program unit by
renaming any local variables with the same name as inserted intrinsics.
This is not possible with a global name such as a COMMON block. The
resulting, transformed program may not compile or link correctly.
- Optimization inhibited: the external function name
"#1" cannot be renamed. This statement was
recognized as having an external function name in conflict with an
intrinsic name inserted by KAP. The translator is unable to rename the
external function.
- Optimization inhibited: the function entry name
"#1" cannot be renamed. This statement was
recognized as having a function entry name in conflict with an
intrinsic name inserted by KAP. The translator is unable to rename the
function entry.
- Optimization inhibited: the function name "#1"
cannot be renamed. This statement was recognized as having a
function name in conflict with an intrinsic name inserted by KAP. The
translator is unable to rename the function.
- Optimization inhibited: the main program name
"#1" cannot be renamed. This statement was
recognized as having a main program name in conflict with an intrinsic
name inserted by KAP. The translator is unable to rename the main
program.
- Optimization inhibited: the subroutine entry name
"#1" cannot be renamed. This statement was
recognized as having a subroutine entry name in conflict with an
intrinsic name inserted by KAP. The translator is unable to rename the
subroutine entry.
- Optimization inhibited: the subroutine name "#1"
cannot be renamed. This statement was recognized as having a
subroutine name in conflict with an intrinsic name inserted by KAP. The
translator is unable to rename the subroutine.
- Optimization inhibited: the variable "#1" cannot
be renamed. This statement was recognized as having at least
one variable in conflict with intrinsic names inserted by KAP. The
translator tried to rename the conflicting variable name, but the
attempt failed because KAP ran out of possible renaming alternatives.
- Optimization inhibited: the variable "#1" cannot
be renamed. This statement was recognized as having at least
one variable that is in conflict with the named COMMON block used by
KAP. The translator tried to rename the conflicting variable name, but
the attempt failed because KAP ran out of possible renaming
alternatives.
- This unit cannot be optimized due to an indeterminable flow
graph. KAP optimization was disabled for this program unit
because the flow graph is indeterminable at the end of the scanner.
F.2.13 Program Too Large (NO)
- Compilation unit is too large to optimize. The
compiler uses data structures to store a program internally while it is
being optimized. In the process of optimization, the compiler creates
new statements that also require storage, all in these same data
structures. At times in the process of optimization, the remaining
space in these data structures is checked. If there is insufficient
space to continue the process, the program is not optimized, and is
passed through unchanged. The general rule to follow in case this
message occurs is to make the program smaller and run the smaller
version through KAP. If further assistance is needed, contact the
software vendor. This message rarely appears.
F.2.14 Question (Q)
- Is "#1" a permutation vector? This array
is used to index another array. If the values of different elements of
the array do not overlap, KAP may be able to optimize this loop.
- Is "#1" in the loop beginning at this
statement? The data dependence program needs information about
the value of a variable or the relative value of two variables to
determine if there is a dependence within this loop. This information
may be provided with an assertion. In an actual instance of this
message, "#1" will be replaced by a relation, for instance,
"N .GT. 1."
F.2.15 Scalar Optimization (SO)
- Block loop for strip mining with block size
"#1". This loop is the block loop of a strip-mined
loop with the given block size.
- Cleanup loop for loop unrolling. Following loop
unrolling, the present loop is the cleanup loop, and was generated for
executing the remainder of the iterations not covered by the main loop
that has been unrolled.
- Cleanup loop for strip mining with block size
"#1". This loop is the cleanup loop of a strip-mined
loop with the given block size.
- Execution flow from this statement has been unconditionally
resolved. The execution path of this conditional statement has
already been determined.
- Loop is empty or is zero-trip. An empty or zero
trip DO loop has been identified.
- Loop unrolled "#1" times to improve scalar
performance. Following loop unrolling, the present loop is the
main loop where the primary number of iterations are executed.
- Statement deleted because of scalar optimization.
Data flow analysis has determined that the execution of this statement
is unnecessary. The statement may reference an unused definition in the
original program or forward-substitution may have made the definition
redundant.
- Strip loop for strip mining with block size
"#1". This loop is the strip loop of a strip-mined
loop with the given block size.
- Unreachable statement. Flow analysis has
determined that no execution path leads to this statement. Check the
logic of the program unit.
- Unused definition. Data flow analysis has
determined that the execution of this statement is unnecessary.
F.2.16 Standardized (STD)
- DO loop in the original program which had no executable
statements was deleted. The source program contained a DO loop
that contained no executable statements. The loop was deleted.
- DO loop was standardized by rerolling it. The DO
loop indicated was recognized as an unrolled loop. The loop has been
rerolled, that is, converted to an equivalent form in which the loop
increment is one.
- IF and assignment were converted to an assignment using MAX
or MIN. An IF with an associated assignment were converted
into an assignment using an intrinsic function (either a MAX or a MIN).
- IF loop beginning here was transformed into a DO
loop. An IF loop beginning at this statement was transformed
into a DO loop. The DO variable increment statement was removed. Any
references to the DO variable that followed the original increment have
been advanced by 1 iteration.
- IF loop ending here was transformed into a DO
loop. An IF loop ending at this statement was transformed into
a DO loop. The branch back to the top of the loop was turned into a
CONTINUE.
- IF statement that ensured the zero trip condition has been
deleted. The output language has DO loops that are zero trip
DO loops. The IF statement that appeared before this DO loop ensured
that this DO loop was a zero trip DO loop, even if the Compaq
Fortran variant had one trip DO loops. The IF statement has been
deleted.
- Logical or arithmetic IF converted to block IF or single
statement IF. A logical or arithmetic IF was changed to the
corresponding block IF, and END IF and optional ELSE inserted, or to a
single statement IF if appropriate.
- Two logical IFs converted to a single IF-THEN-ELSE
block. Two logical or block IFs with complementary conditions,
for example, a.eq.0 and a.ne.0, were replaced by a single block IF WITH
ELSE clause.
F.2.17 Translator Error (TE)
- No message specified. This indicates a fatal error
in KAP. A traceback accompanies this message. Give a copy of the
traceback and the original code to the software vendor so an action can
be taken.
- Translator Error : "#1". KAP has issued
an internal compiler error. The message in quotes indicates which error
is being reported. Please make a copy of the traceback and the original
program available to the software vendor so action can be taken.
- Unknown statement type was passed to the I/O statement
parser. A statement that was thought to be an I/O statement
was not recognized. This is a compiler bug. Please give a copy of the
traceback and the source code to the software vendor so the problem can
be corrected.
F.2.18 Vector Enhanced (VE)
- IF statement was inserted when a wraparound variable was
removed. A loop was unrolled to remove a wraparound variable.
This IF statement was inserted so that the unrolled portion of the loop
would not be executed because the original loop had fewer iterations
than the number of unrolls.
- Loop has been fused with others to reduce
overhead. Compatible adjoining loops have been fused together
to reduce the total execution overhead.
- Loop replaced by call to optimized routine
"#1". This loop was replaced by a call to an
appropriate optimized routine.
- Loop unrolled to remove wraparound index variable.
The loop starting at the indicated statement was unrolled one or more
times to remove a wraparound index variable. For each iteration that
was unrolled, the loop body was copied once before the loop statement,
and an IF statement was inserted around the copied loop body and the
original loop to ensure that the body is executed the proper number of
times.
- Statement copied during loop unrolling to remove a
wraparound variable. The loop containing this statement was
unrolled one or more times to remove a wraparound scalar variable. This
statement was one of those within the loop that was copied when the
loop was unrolled.
- Statement inserted to save the initial value of an
induction variable. This statement was inserted to save the
initial value of an induction variable. The induction variable was
converted to a form that depends only on the loop index and
loop-invariant expressions. The variable assigned in this statement was
created to hold the value that the induction variable had upon entering
the loop nest.
F.2.19 Warning (W)
- All parameters to this intrinsic function must have same
type. All of the parameters to the indicated intrinsic
function must be of the same type.
- Array reference is not within declared array
bounds. This message is issued if an instance of an array
reference in an EQUIVALENCE statement has one or more constant indices
that are out of bounds of the array.
- END statement was missing on this compilation
unit. The last line of each compilation unit must be an END
statement. An END statement was added as the last statement of this
compilation unit.
- If keyword parameter "DIM" is used it must be the
second parameter. Keyword parameter "DIM" is legal
to this intrinsic function, but it must be the second parameter.
- Length of the constant is too long. Length of the
constant is longer than allowed. Refer to the Fortran manual for the
valid syntax.
- Parameter to statement function "#1" is of the
wrong type. An expression passed to a statement function must
match the corresponding dummy argument in type. One of the parameters
to the indicated call had the wrong type.
- Possible use of variable "#1" before its
definition. KAP performed live variable analysis and found a
possible use of the specified variable before any definition. It is
possible that KAP is being (necessarily) conservative and the variable
may not actually be used before any definition. There is a possibility
that the variable may be used before any definition.
- Range of first letters specified in this IMPLICIT statement
is invalid. An IMPLICIT statement must specify either a single
letter or two letters separated by a dash, with the first letter
preceding the second in the alphabet. The range of letters specified
must not overlap any other ranges specified in this or other IMPLICIT
statements.
- Routine "NAME" requires the parallel STACKSIZE
must be at least 221400 bytes. Increasing the number of
parallel threads may result in the need to increase the stack size of
your system. See the KMP_STACKSIZE description in Section 3.6
- SAVE statement conflicts with earlier SAVE
statements. This save statement is not compatible with
previous save statements. All save statements must have parameters or
there must be only one save statement without any parameters.
- Symbol specified in SAVE statement more than once.
An identifier may not appear in more than one save statement.
- Transfer into IF or do block from outside the IF or do
block is prohibited. Transfer of control into an IF block or
DO block from outside the block is not allowed.
- Variable already occurred in a DATA statement.
DATA statements must follow specification statements.