Diagnostic messages include numbered and unnumbered messages, produced
during the three phases of the compiler. All lexical and syntax
diagnostics are produced by phase 1 of the compiler, and code generation
diagnostics produced by phase 2. Messages containing the text CXERR are
compiler internal errors and are not described in this chapter.
Compiler Message Processing
The SAS/C mainframe Compiler provides a return code indicating the overall success
of the compilation. For the SAS/C mainframe Compiler, a return code of 0 indicates
successful compilation, a return code of 4 indicates a warning level
diagnostic, and a return code equal to or greater than 8 indicates one
or more error conditions were detected. Global optimization
warnings do not change the return code.
The Cross-Platform Compiler return codes, unlike those of the mainframe
compiler, have been chosen to be compatible with traditional UNIX program
development tools such as make
.
If the return code is a non-zero
integer, an error occurred; if it is zero, no error occurred.
Cross-platform warning messages do not affect the return code. If the
-mrc
option is specified, the return code is the same as would be
found on the mainframe.
Message levels ERROR and WARNING can be
controlled by compiler options. For example, the enforce
(SAS/C
mainframe Compiler) option or -w~n
(SAS/C Cross-Platform Compiler) option
can be used to turn any WARNING into an ERROR. Similarly, the
suppress
or -wn
option can be used to make any phase 1 WARNING
disappear. This chapter describes the default message level (that is,
no options affect the message level).
Message Types
Compiler error messages can be either numbered or unnumbered.
Numbered messages can be produced throughout compilation.
Unnumbered messages generally refer to errors occurring during compiler
option processing. Unnumbered messages appear at the end of this
chapter.
When the compiler detects an error in an input file, it generates a diagnostic for numbered messages in the following form:
[message num] Error in [file] at line [line num] before column [col num] : [text]where
[message num] is the message identifier number.
file is the name of the current input file, which may be
the name of a #include
file.
line num is the line number of the current line in the file.
col num is the column where the error was detected. A vertical bar (|)
can be placed in that column.
text is a brief description of the condition responsible for producing
the message.
Sometimes recovery from a single error may produce a succession of
subsequent errors in a cascade effect. You should attempt to correct
the obvious error or errors first and not be overly concerned about
subsequent error messages for apparently valid source lines.
suppress
or -w
n option cannot be
used to ignore phase 2 error and warning messages.
suppress
or -w
n option
cannot be used to ignore these error and warning messages.
Note:
The LSCC prefix that appears when a diagnostic message is generated
has been omitted in the following descriptions. Additionally, SAS/C
Compiler and SAS/C Cross-Platform messages are not always identical, so the
exceptions are noted in the explanatory text.
LSCC Messages
001
ERROR/WARNING: Invalid preprocessor command.
Explanation
This message was generated by a variety of errors
in preprocessor commands, including
specifying an unrecognized command, failing to include
white space between command elements, or using an illegal
preprocessor symbol. The warning is generated when
the sizeof
keyword or any cast expression in a
#if
command is used. Such uses are non-ISO/ANSI.
002
ERROR: Unexpected end of file.
Explanation
The end of an input file was encountered when the
compiler expected more data. This error may occur in a
#include
file or the original source file. In many
cases, correcting a previous error eliminates this
error.
003
ERROR: File not found [filename].
Explanation
The filename specified in a #include
command
was not found.
004
ERROR: Invalid lexical token.
Explanation
An unrecognized element was encountered in the input
file that cannot be classified as any of the valid
lexical constructs (such as an identifier or one of the
valid expression operators). This error may occur if control
characters or other illegal characters are detected in the
source file.
005
ERROR: Invalid macro usage: [macro]
Explanation
A preprocessor #define
macro was used with the
wrong number of arguments.
006
ERROR: Buffer overflow:expansion buffer.
Explanation
Expansion of a #define
macro caused the compiler's expansion
buffer to overflow. This error may occur if more than one lengthy macro
appears on a single input line, or if a macro call is ill-formed by
having too few right parentheses. In the following example, if
MAC
is a macro taking two arguments and a right parenthesis is omitted
in its call, the preprocessor will continue past the semicolon,
believing that it is still gathering arguments for the macro:
MAC(f(1),f(2);Although there is no fixed buffer size, an expansion that requires more space than the longest logical line occurring thus far in the compilation may cause buffer overflow. This error rarely occurs.
ERROR: #include nesting level exceeded.
#include
file nesting was exceeded;
the
compiler supports #include
nesting to a maximum depth of 16.
ERROR: Invalid conversion.
ERROR: Undefined identifier [symbol].
int
(which may cause other errors).
ERROR: Invalid subscript expression.
ERROR: String too large or not terminated.
ERROR: Invalid structure reference.
.
) or (->
)
structure reference operator was not recognized by the compiler as a
structure or pointer to a structure.
ERROR: Member name missing.
.
) or
(->
) operator.
ERROR: Undefined member [symbol]
.
) or (->)
referred.
ERROR: Invalid function call.
(
function call operator
was not implicitly or explicitly declared as a function.
ERROR: Invalid function argument.
(
function call operator. This error may occur if an argument
expression is omitted as in the following:
f(; f(.); f(,1);
ERROR: Too many operands.
ERROR: Unresolved operator.
ERROR: Unbalanced parentheses.
ERROR: Invalid constant expression.
ERROR: Illegal use of aggregate.
WARNING: Floating point value assigned to shorter type.
enforce
option (or cross-platform
-w~
n option) is specified.
ERROR: Invalid use of conditional operator.
?
) operator
is present, but the colon (:
) is not found where expected.
ERROR: Pointer operand required.
ERROR: Modifiable lvalue required.
const
) is a modifiable lvalue. This error may occur if
the expression following &
is not a modifiable lvalue or if the
left side of an assignment expression is not a modifiable lvalue. Note
that a cast does not yield a modifiable lvalue.
ERROR: Arithmetic operand required.
ERROR: Arithmetic or pointer operand required.
ERROR: Missing operand.
ERROR: Invalid pointer operation.
X
was never defined:
struct X *p; . . . p++;
WARNING: Pointers do not point to same type of object.
=
) operator did not
evaluate to a pointer of the same type as the assigned or NULLpointer variable.
The warning also occurs when a pointer of any type is assigned
to an arithmetic object.
The same message is generated as an ERROR
when
an expression initializes a pointer to an
int
(or vice versa), or during a pointer comparison operation.
031
ERROR: Integral operand required.
Explanation
In the context of this expression, an operand must be
an integer type.
Valid integer types are char
, int
, short
,
long
, unsigned char
, unsigned int
,
unsigned short
, or unsigned long
.
032
ERROR: Invalid conversion specified.
Explanation
An expression was specified requesting a conversion from one data type to
another data type for which there is no conversion rule.
033
ERROR: Illegal initializer expression.
Explanation
An attempt was made to initialize a variable that cannot be initialized.
Also, a function cannot be initialized. An initialization cannot be
part of the declaration of an extern
variable that has been
declared in function (or inner block) scope, as this example
illustrates:
func() extern int count = 0; . . .
ERROR: Invalid initializer expression.
char a [10] = 0; char b [3] = 1 2 3;
ERROR: Closing brace expected.
WARNING: Control cannot reach this statement.
return
, continue
, or goto
precipitating an unconditional
transfer of control; code within a switch block that was not reachable via a
case or default statement.
ERROR: Duplicate statement label [symbol]
ERROR: Unbalanced braces.
{
) and closing right braces (}
) was not equal.
The compiler may have been out of phase because of a previous
error.
ERROR: Invalid use of keyword [symbol]
ERROR: Break not inside loop or switch.
break
statement was detected that was not within
the scope of a while
, do
, for
, or
switch
statement. This error
may be caused by an error in a preceding statement.
ERROR: Case not inside switch.
case
prefix was encountered outside the scope of
a switch
statement. This error
may be caused by an error in a preceding statement.
ERROR: Invalid case expression.
case
value did not
evaluate to an integral constant.
ERROR: Duplicate case value.
case
prefix was encountered that defined a
constant value already used in a previous case
prefix
within the same switch
statement.
ERROR: Continue not inside loop.
continue
statement was detected that was not
within the scope of a while
, do
, or for
loop.
This message may be caused by an error in a preceding
statement.
ERROR: Default not inside switch.
default
prefix was encountered outside the scope
of a switch
statement. This message may be caused by an error
in a preceding statement.
ERROR: More than one default.
default
prefix within the scope
of a switch
statement that already contained a default
prefix.
ERROR: While missing from do statement.
while
clause was expected but not found after the body of a
do
statement. This message may
be caused by an error within the body of the
do
statement.
ERROR: Invalid while expression.
while
or do
loop was NULL (not present).
Indefinite loops must supply a constant, such as 1, if that is
what is intended.
ERROR: Else not associated with if.
else
keyword was detected that was not within
the scope of a preceding if
statement. This message
may be caused by an error in a preceding statement.
ERROR: label missing from goto.
goto
keyword was
expected but not found.
This message may be caused by an error in a preceding statement.
ERROR: Invalid if expression.
if
keyword was not present.
ERROR: Invalid return expression.
return
keyword could
not be converted to the type of the value returned
by the function.
ERROR: Invalid switch expression.
switch
statement could not be converted to an
integral type.
WARNING: No case values for switch statement.
switch
statement
did not contain at least one case
prefix.
ERROR: Colon expected.
:
), but did not find one. This
error may be generated if a case
expression is improperly
specified or if the colon was omitted following a label or prefix to a
statement.
ERROR: Semi-colon expected.
;
). Typically, the compiler
completed the processing of a statement but did not find
the statement terminator. This error may be caused by too
many closing parentheses, too few closing braces, or a statement
that is otherwise formed incorrectly.
ERROR: Missing parentheses.
while
or for
keyword. This error
may also occur if a parenthesized expression is incorrectly specified,
causing the compiler to end the expression early.
ERROR: Invalid storage class.
auto
or register
. This
message may be generated if previous errors have caused the compiler
to misinterpret statements within a function as file-scope
declarations.
ERROR: Incompatible aggregate types.
ERROR/WARNING: Undefined structure/union tag [symbol]
strict
option
(or cross-platform -W1,-ll
option) is used.
ERROR: Structure/union type mismatch.
ERROR/WARNING: Duplicate declaration of item [symbol].
__actual
declarations of an
__inline
function are encountered.
ERROR: Structure contains no members.
ERROR: Invalid function definition.
WARNING: Invalid array limit expression.
ERROR: Illegal object.
ERROR: Illegal object for structure.
ERROR: Structure includes instance of self.
*
) is forgotten on a structure pointer declaration
or if (due to some intertwining of structure definitions) the structure
actually contains an instance of itself.
ERROR: Formal declaration error [symbol]
ERROR/WARNING: Conflict with prior declaration of external: [symbol].
int
function returns
some other kind of value. Functions that return a value other than
int
must be declared before they are used so that the compiler
is aware of the type of the function value.
This message is issued as a warning if the type mismatch is harmless,
for example, int/long
, const/volatile
, or
char/unsigned char
. The message is issued as an error if the
mismatch is harmful.
073
ERROR: Declaration expected.
Explanation
In processing the declarations of objects, the compiler
expected to find another declaration but did not. This error may be caused by a
preceding error.
074
WARNING: Initializer data truncated.
Explanation
An array of char
or wchar_t
was initialized from a
string literal, but the literal contained more characters (not including
the ending null character) than the size of the array. The excess characters
were discarded.
075
ERROR: Invalid sizeof expression.
Explanation
An invalid expression was the operand of sizeof
.
This message also may be generated if
an attempt is made to take the size of a structure via
a tag that has not been defined, or if an attempt is made
to take the size of a function, bitfield, or incomplete type.
076
ERROR: Left brace expected.
Explanation
The compiler expected but did not find an opening left
brace in the current context. This error may occur if the opening
brace is omitted on a list of initializer expressions for
an aggregate.
077
ERROR: Identifier expected.
Explanation
While processing a declaration, the compiler expected to find an identifier
that was to be declared. This error may occur if the prefixes to an
identifier in a declaration (parentheses and asterisks) are specified
improperly, or if a sequence of declarations is listed incorrectly.
078
ERROR: Undefined statement label [symbol]
Explanation
A goto
statement
referred to a statement label but the compiler
could not find the definition of the label.
079
WARNING: Duplicate enumeration value.
Explanation
More than one enumeration constant in an
enumeration list was assigned the same numeric value.
080
ERROR: Invalid bitfield.
Explanation
This error is generated in the following circumstances:
int
)
ERROR: Preprocessor limit exceeded.
ERROR: Maximum object/storage size exceeded.
WARNING: Reference beyond object size.
ERROR/WARNING: Redefinition of preprocessor symbol [symbol]
#define
statement for an already-defined
symbol. The symbol and the new statement specified a different replacement text
(that is, it was a nonbenign redefinition).
A warning is issued unless the redef
compiler option
(or cross-platform -W1,-cr
option) is
specified. In that case, the previous declaration is stacked and
reappears when a #undef
statement for the symbol appears. The
warning message is suppressed unless the enforce
or strict
option (or cross-platform -w~n
or -W1,-ll
option) is specified.
085
WARNING: Return value mismatch for function value [symbol]
Explanation
The expression specifying the return value of a function was not
the same type as the function itself. If possible, the value specified is
converted to the appropriate type.
The warning serves as notification of the
conversion.
The warning can be avoided by using a
cast operator to force the return value to the function type.
086
WARNING: Formal definitions conflict with type list.
Explanation
The compiler encountered a function definition, and a prototype was
in scope for that function. One or more of the formal parameters
in the definition conflict in type with the types specified in
the prototype.
087
WARNING: Argument count incorrect.
Explanation
Although a prototype was in scope for this function, it specified a
different number of arguments from the call. A function call
may execute correctly with the wrong number of arguments in this
implementation, but it is likely to cause portability problems.
088
WARNING: Argument type incorrect.
Explanation
Although a prototype is in scope for this function,
the type of the argument does not match the type in the prototype.
The argument is converted to the correct type.
This message does not appear if only a simple widening conversion,
such as char
to int
, is needed.
089
WARNING: Constant converted to required type.
Explanation
This message is the same as message 088 but is produced for an
argument that is a constant; the conversion is done at compile time.
090
ERROR: Invalid argument type specifier.
Explanation
The type of an argument in a function prototype was
unrecognized or invalid in this context (for example, void
).
091
ERROR: Illegal void operand.
Explanation
A void
operand was found in a context where a value is required.
092
WARNING: Statement has no effect.
Explanation
A statement has no effect (including side effects), as this example
illustrates:
x+2;Although this statement is a valid C statement, it may not be what the programmer intended to write.
WARNING: No reference to identifier [symbol]
auto
variable named in the message was declared but never
used. Although this is valid C, it may not be what the programmer
intended. Perhaps another variable was used where this one should have
been used.
WARNING: Uninitialized auto variable [symbol]
auto
variable appeared to be used before it
was assigned a value. This message may be generated for correct code,
if at execution time non-sequential execution (possibly using
goto
or for
statements) would cause the variable to be
initialized before any use. Note that if the variable is inspected
before it is initialized, its value is undefined.
Although uninitialized variables often, by chance, have the
value 0, this is not (for auto
variables) guaranteed by the
ANSI/ISO Standard language definition. Changing the program or moving the program
to another system can change the value and cause undefined program
behavior.
095
WARNING: Symbol previously mapped.
Explanation
The symbol being mapped by a #pragma map
statement has already
been mapped by a previous #pragma map
statement. The first
#pragma map
statement takes precedence.
096
WARNING: New pragma map symbol longer than 8 characters; truncated.
Explanation
The new symbol to which the old symbol is mapped cannot be longer than
eight characters.
097
WARNING: Mapped name may conflict with other compiler-generated names.
Explanation
A new symbol violates the guidelines enumerated in Chapter 3 of the
SAS/C Compiler and Library User's Guide, and may conflict with symbols generated by the compiler.
099
ERROR: Attempt to change a const lvalue.
Explanation
Identifiers with the type qualifier const
cannot be
changed. Either the program uses the identifier incorrectly, or the
const
type qualifier should be removed from the declaration.
100
WARNING: No prototype declared for function [symbol]
Explanation
This message is issued only if the reqproto
option
(or cross-platform -W1,-cf
option) is in
effect. No prototype is in scope for the function at the time that
a call is made to the function.
101
ERROR: Redundant keywords in declaration.
Explanation
A declaration contained one or more unnecessary
keywords. For example, identifier xyz
is declared as
long long xyz.
102
ERROR: Conflicting keywords in declaration.
Explanation
A declaration contained keywords that specified conflicting type
specifiers or storage-class specifiers. For example, the
declaration short long xyz
contains conflicting type
specifiers. The declaration extern static xyz
contains
conflicting storage-class specifiers.
103
WARNING: Uninitialized constant [symbol]
Explanation
An auto
or register const
variable was not initialized.
Constant values should be initialized at compile time since they cannot
be changed at execution time, and their values will be unpredictable
if they are not initialized.
104
WARNING: Conversion from pointer to const/volatile to pointer to
non-const/volatile.
Explanation
An attempt was made to convert a pointer to a const
object to
a pointer to a non-const
object, or from a pointer to a
volatile
object to a pointer to a non-volatile
object.
If a pointer to non-const
is used to modify an object
declared as const
, a protection exception or other
incorrect results may occur. If a pointer to non-volatile
is used to access an object declared as volatile
, the results
are unpredictable.
105
WARNING: Function prototype not allowed for non-C function (except
Assembler).
Explanation
A prototype cannot be used to declare a function that is declared
with one of the interlanguage communication keywords such as
__fortran
, __cobol
, etc.
107
ERROR: Too many initializers.
Explanation
More initializers were specified
than the number of aggregate elements to be initialized.
109
ERROR: Invalid use of type name or keyword.
Explanation
The user attempted to use a typedef
name or
keyword where an identifier or lvalue was expected.
110
ERROR: Execution terminated.
Explanation
End of file (EOF) was found unexpectedly on the compiler input
file, for example, in the middle of a function. This error
may be caused by mismatched braces, an unclosed comment,
or unclosed quotes in a char
literal.
111
WARNING: External name longer than 8 characters [symbol]
Explanation
Due to restrictions imposed by the IBM linkage editor, externally
visible names are truncated to eight characters in the object deck. If
you prefer to use long external names, the first eight characters must
be unique or multiple names will resolve to the same linkage-editor
symbol. This problem will not occur if the extname
option
is specified.
112
WARNING: Extraneous information in include file name: [symbol].
Explanation
The name of a system header file (that is, one included in angle
brackets) ended with a qualifier other than ".h" or ".H". The
qualifier was ignored.
#include [filename] [name.ext].
WARNING: Unable to open specified file, will attempt to include [filename].
#include "[name.h]"
.
It attempts to recover by opening the file as if it had
been specified by #include <name.h>
.
ERROR: Floating point constant out of machine range.
ERROR: Invalid record size (>1024 bytes).
ERROR/WARNING: Undefined enum tag [symbol]
enum
tag was not previously defined.
The message is issued as an error if an attempt is made to define
an enumeration by means of the undefined tag. Declarations that
are not definitions cause the message to be issued as a warning.
ERROR: Enum contains no members.
enum
type did not define at least one
enumeration constant.
ERROR: Conflicting use of enum/struct/union tag [symbol]
struct
,
union
or enum
) within a scope, and then referenced as
another sort. Usage of the tag must be consistent within its scope.
ERROR: Identifiers missing from definition of function
[symbol]
.
WARNING: Hex/octal constant too large (high bits are lost).
char
object. The compiler ignores all
but the last eight bits in the constant. For example, if the constant
x1234
is specified, the warning is issued and the
constant is treated as equivalent to x34
. The prefix
L
may be employed to specify a wide character constant as in
L'\x12\x34'
.
WARNING: Missing ellipsis.
...
), which
indicates that unspecified parameters may follow the last declared
parameter, is missing.
ERROR: Invalid number.
This message can also be generated if a number beginning
with a 0 contains an invalid octal digit, for example 08
.
126
WARNING: #endif, #else, or #elif out of order.
Explanation
One of the preprocessor directives named was encountered
unexpectedly. For instance, a #endif
directive was read with no
previous unmatched #if
or #ifdef
.
127
ERROR: Operand to # operator must be a macro argument.
Explanation
The operand of a # operator must be one of the arguments calling to the
macro.
128
ERROR: [text]
Explanation
A #error
directive was
encountered by the preprocessor. The text of the message is
specified by the #error
directive.
129
ERROR: Ambiguous member [symbol]
Explanation
One of the members declared for an anonymous union has the same name
as a member in the containing structure or the same name as a
member of another anonymous union in the containing structure.
Member names in anonymous unions are in the same name space as
member names in the containing structure.
131
ERROR: Invalid or unsupported use of at-sign operator.
Explanation
The @
operator only can be used in the argument list of
a function call.
132
WARNING: Extra tokens after valid preprocessor directive.
Explanation
One or more unexpected or incorrect tokens were found following a
preprocessor directive. The tokens may need to be removed, or
they may need to be specified correctly.
133
ERROR: Cannot redefine macro [symbol]
Explanation
The __LINE__
, __FILE__
,
__STDC__
, __DATE__
, and
__TIME__
macro names cannot be used in a
#define
or #undef
preprocessor directive.
134
ERROR: Too many arguments
Explanation
The maximum number of macro arguments is 31.
136
ERROR: Invalid use of register keyword.
Explanation
The register
storage class specifier can be used only in the
declaration of a formal parameter or auto
variable for
integer, floating-point, and pointer types.
139
WARNING: Missing #endif.
Explanation
The preprocessor expected a #endif
preprocessor directive to
terminate a previous #if
or #ifdef
directive.
140
WARNING: Sizeof operator used on array that has been converted
to pointer.
Explanation
Formal arrays are converted to pointers. When the
sizeof
operator is applied to a formal array, the return
value is the size of the pointer, not the size of the array.
142
ERROR/WARNING: Array size never given for [symbol]
Explanation
This message occurs for an incomplete array definition. When the size
of an array is not defined at the first opportunity,
some compilers conforming to ANSI may not accept
this even if the size is supplied later. For both
externally visible and static arrays, the size must be supplied before
the end of the compilation.
143
ERROR: Object has no address
Explanation
register
variables and bitfields cannot have their
addresses taken.
144
ERROR: Combined storage for strings and constants exceeds maximum.
Explanation
The combined size of all the character string literals and
const-
qualified objects exceeds 2 gigabytes.
145
WARNING: #include file name or suffix truncated to 8 characters.
Explanation
Mainframe only:
Either the member name or the DDname specified in a
#include
preprocessing directive exceeded eight characters
in length. The name is truncated on the right.
147
WARNING: Conversion between function and data pointers.
Explanation
The ANSI/ISO Standard states that function pointers cannot be converted
to data pointers and vice versa. Even though the conversion can
be performed in this implementation, other compilers may not
accept the conversion. The compiler flags the statement as a
possible portability problem.
148
WARNING: Use of incomplete struct/union/enum tag [symbol]
Explanation
Compilers
predating the ANSI/ISO standard may not support this use of an
incomplete structure, union or enum type. The compiler flags this
statement as a possible portability problem.
This message is suppressed unless the strict
option is used.
149
WARNING: Undefined struct/union/enum tag in prototype scope
[symbol]
Explanation
The compiler has detected the use of a tag in a prototype that has not
been defined previously. The ANSI/ISO Standard defines a separate scope for
tags in a function prototype. Tags defined after the prototype are not
in the scope of the prototype and are considered to be in a
different scope. struct
, union
, and enum
tags
that are used in a function prototype should be defined before the
prototype.
150
ERROR: Conversion to different struct | union | enum type.
Explanation
An attempt was made to assign the value of a structure, union, or
enumeration to one of a different type.
152
ERROR: Cannot define function via typedef name.
Explanation
The ANSI/ISO Standard does not allow a function to be defined using a
typedef name. Specifically, the following is not permitted:
typedef int FNC(void); FNC f {/* ... */}
WARNING: No prototype declared for function pointer.
reqproto
option
(or cross-platform -W1,-cf
option) is used.
WARNING: No statement after label.
;
) after the label.
switch(i) { . . . default: ; }
WARNING: Operation/comparison of pointer to int and pointer to [type].
int
may not be compared with or assigned to variables of
type pointer to short
or pointer to long
. The compiler
flags the statement as a possible portability problem.
This message is suppressed unless the strict
option
(or cross-platform -W1,-ll
option) is used.
ERROR: Invalid type name [symbol]
offsetof
macro
is used incorrectly. This macro requires a structure
type name as its first argument.
WARNING: Use of unary minus on unsigned value [symbol]
unsigned
types cannot have a negative value. Examine the program to ensure that
the operator will have its intended effect.
This message is suppressed unless the strict
option
(or cross-platform -W1,-ll
option) is used.
WARNING: No prototype declared at definition for function
[symbol]
reqproto
option
(or cross-platform -W1,-cf
option)
is used.
WARNING: Non-ANSI use of ellipsis punctuator.
...
) used in a way other than
as defined by the ANSI/ISO Standard. The Standard allows an ellipsis
only in a function declaration to indicate that the function accepts a
variable argument list. It also requires that a prototype contain at least
one parameter, and a function may take one or more
arguments but not zero arguments.
This compiler supports the following non-standard construction, which
indicates that func
is a function returning an int
that takes zero or more arguments:
int func(...)However, in such cases, this warning is issued to point out the divergence from standard use.
WARNING: Use of narrow type in prototype.
char
,
short
, or float
was specified in a prototype. Such arguments
will not be widened in a function call. Because the behavior will be
different in a context where no prototype is in scope, this message
indicates a potential problem if all uses of the function are not
within scope of a prototype.
ERROR: Unrecoverable error or too many errors -- terminating
the compilation.
ERROR: This function type should not be defined in C: [type]
.
__asm
function prefix may only appear in function
declaraions which are not definitions.
WARNING: Assignment of long to [symbol]
long
is assigned to a short
or int
.
It is intended to warn of possible truncation and
portability problems.
WARNING: Incompatible operands of conditional operator.
?
) do not agree. Use casts to ensure that the types match.
WARNING: Overflow during operation on constants.
ERROR: Structure qualifiers do not match previous declarations of
structure [symbol]
__alignmem
or __noalignmem
keywords in the named
structure declaration did not match a previous declaration of the same
tag.
WARNING: Implicitly promoted formal conflicts with prototype.
char
, short
or float
). The function definition was not in prototype format,
which implies that all arguments should be widened. This discrepancy
between the prototype and the function definition is not
standard-conforming, and may lead to incorrect results with some C
compilers. Either correct the prototype to specify the widened type,
and use the prototype format in the function definition.
WARNING: No space between macro name and its replacement list.
dollars
option
(or cross-platform -W1,-cd
option) has not been specified.
However, if the only error in the macro was
the omission of white space following the macro name, the macro will
work as intended.
WARNING: Function declared static but defined external [symbol]
WARNING: Static function declared but not defined [symbol]
WARNING: Inline function declared but not defined [symbol]
WARNING: Multiple characters in integral character constant.
ERROR: Comma expected.
WARNING: Implicit conversion between pointer and scalar.
static
or extern
pointer variable is
initialized using a scalar value. A cast should be used to
perform the conversion to a pointer type explicitly.
WARNING: Negative value assigned to unsigned type.
strict
option (or cross-platform -W1,-ll
option)
is used.
ERROR: Ambiguous use of ILC language keyword.
__fortran
. The following code shows
a pointer to a function returning a pointer to a function that returns a
pointer to int
:
__pli int * (* (* ab)( ) ) ( );In this case, however, the compiler cannot tell whether the first function or the second is in PL/I. Specify language keywords directly before the
*
(for function pointers) or the name (for
functions). For example:
int * (__pli * (* ad ) ( ) ) ( );This code shows a pointer to a function returning a pointer to a PL/I function that returns a pointer to
int
.
ERROR: Malformed double-byte characters.
WARNING: Mixed types in string concatenation - using original type.
ERROR: DBCS used outside of comment, character constant or string.
WARNING: Multiple characters in wide character constant.
wchar_t
.
ERROR: AT option required when using @ operator.
@
operator unless the
at
option (or cross-platform -Kat
option) is used.
Recompile the program using the at
option (or cross-platform
-W1,-ca
option).
WARNING: No external functions or data defined.
ERROR: Unable to open pass 2 print file. Using stderr.
stderr
instead. stderr
also should be
inspected for information on why the phase 2 listing file failed to
open.
WARNING: Empty object module.
WARNING: Item is wrong size for conversion to pointer.
char
or short
item was converted to a pointer.
However, since all pointers on the IBM 370 are 4 bytes in length, it is
unlikely that the input item will convert to a valid pointer. However,
code to do the conversion is generated.
WARNING: Default section name [first function name] is too long. Section name
truncated to 7 characters.
Since this message appears for the default section name only, you can
avoid it by supplying the sname
option
(or cross-platform -Ksname
option), which is limited to seven characters.
210
ERROR: Wrong number of parameters for built-in function. An actual function
call has been generated.
Explanation
Built-in function arguments were incorrect in type or number for the
generation of in-line code. Consequently, a true function call was
generated instead, which executes more slowly than the in-line code.
Furthermore, the arguments may also be incorrect for the true function,
causing an error when the function call is executed.
This message is rare because the library prototypes for built-in
functions ensure correct parameters in most cases. However, it can
occur if a library prototype is removed from the header file.
211
ERROR: A constant has an invalid type or value, (unsigned) 1 was
used instead.
Explanation
An incorrect type, such as double
instead of int
,
was specified for a constant argument to a built-in function.
The compiler substitutes an unsigned
constant 1.
212
ERROR: Maximum number of extended external names exceeded.
Explanation
The source file declared more extended external names than the compiler
could support. This rare occurrance should be reported to the SAS
Software Representative for C Compiler Products at your site. Refer to
the SAS/C Compiler and Library User's Guide for more information about the maximum number of extended
external names.
213
ERROR: Maximum number of extended function names exceeded.
Explanation
The source file declared more extended function names than the compiler
could support. This rare occurrance should be reported to the SAS
Software Representative for C Compiler Products at your site. Refer to
the SAS/C Compiler and Library User's Guide for more information about the maximum number of extended
function names.
214
NOTE: No extended names found.
Explanation
This message appears if the extname
option
(or cross-platform -Kextname
option) is specified and
no extended names are found.
215
NOTE: No extended names defined.
Explanation
This message appears if the enxref
option
(or any of the cross-platform -Wl,-xxe
, -Wl,-xxs
,
-Wl,-xxx
, or -Wl,-xxy
options) is specified and
no functions or variables with extended names are defined.
216
ERROR: Unsupported use of __remote with pflocal or __asm function.
Explanation
An attempt was made to convert a __local
or
__asm
function pointer to a __remote function
pointer.
This conversion cannot be performed, because the source function
pointer contains no PRV information. Note that this message can be
generated for an unqualified function pointer if the pflocal
compiler option is used.
217
ERROR: Pointer to FILE required for this built-in function parameter.
Explanation
The first parameter of __builtin_getc
or the second parameter
or __builtin_putc
must be a pointer to the FILE
type.
220
ERROR: Register mask is not a compile-time constant.
Explanation
The register mask argument to the _ldregs
, _stregs
,
_code
, and branch
functions must be a compile-time constant so the compiler
can know what registers are needed.
221
ERROR: Undefined bits set in register mask.
Explanation
The register mask had an undefined bit set to 1.
Bits 0 through 15 in the register mask represent general purpose
registers; bits 16, 18, 20, and 22 represent floating-point registers.
The remaining bits must be set to 0. Use combinations of the macro
symbols defined in <regs.h>
to create the register mask.
222
ERROR: Register mask does not match number of function parameters.
Explanation
The register mask specified a number of registers that do not match
the number of parameters to the function. The register mask used in the
_ldregs
function must define a number of registers that matches
the number of parameters (excluding the mask) in the function call.
The register mask used in the _stregs
function must define a
number of registers that either equals the number of other parameters in
the function call or exceeds that number by one.
223
ERROR: Register mask specifies unsupported register(s).
Explanation
The register mask referred to a register that could not be used.
The mask may contain a bit that does
not correspond to a hardware register, or may specify a register
reserved to the compiler. See the
SAS/C Compiler and Library User's Guide
for information on registers that can be used by machine code
functions.
224
ERROR: Parameter must be address or pointer.
Explanation
The compiler expected a pointer argument in a call to the
_stregs
built-in
function, but one was not supplied. All arguments to the
_stregs
function (except the register mask) must be pointers.
225
ERROR: SVC number must be a compile-time constant in the range 0-255.
Explanation
The operand of the IBM 370 SVC instruction must have a value between 0
and 255.
226
ERROR: DIAGNOSE number unsupported or not a compile-time constant.
Explanation
The number specified as the argument to the _diag
function was
not a compile-time constant. The number must be a constant, since it
forms a part of the generated machine instruction.
227
ERROR: Parameter must be a constant in the range 0-0xFFFF.
Explanation
The second through the fifth arguments to the
_code
function must be halfword constants.
228
ERROR: Structure or union parameter cannot be loaded into a register.
Explanation
A variable of structure or union type was passed to the
_ldregs
function. Inspect the function arguments
to see if an &
operator has been omitted.
229
ERROR: Inline machine code sequence does not begin with _ldregs
.
Explanation
A call to builtin_code
(or some other machine code function)
was made without a previous call to
__builtin_ldregs
, which must immediately
precede any sequence of calls to other inline machine code functions.
This message can occur if some C code intervenes
between a call to __builtin_ldregs
and a call to another
inline machine code function.
230
ERROR: Register mask does not specify a result register.
Explanation
A call was made to __builtin_stregs
with a parameter, but the
value of that parameter, the register mask, did not specify a result
register.
231
ERROR: _stregs not preceded by _ldregs. (_stregs operand may be too complex.)
Explanation
Similar to message 229, a call to __builtin_stregs
must be
preceded by a call to __builtin_ldregs
. No C code other than
calls to inline machine code functions may appear between the call to
__builtin_ldregs
and the call to __builtin__stregs
. The
generation of code will be halted if the operands of
the __builtin_stregs
function are overly complex, since they may
force interruption of the inline code sequence to compute the target
addresses.
232
ERROR: Unsupporteed opcode, mask, or index register for branch.
Explanation
A call to the __builtin_branch
function specified an invalid
opcode, register mask, or index register.
236
ERROR: Error in debugging file: [description]
Explanation
This error will be generated when the compiler encounters problems
in either reading or generating the debugging information. On MVS,
this is frequently caused by a lack of available space in the PDS
where the debugging file is to be stored. The <description> offers
some explanation about the problem the compiler encountered.
301
WARNING: Indirect reference through NULL pointer.
Explanation
The program being optimized contained code to
dereference a pointer with a NULL value.
The results of such a dereference are undefined but may well
include an addressing exception or 0C4 abend.
302
WARNING: Type punning involves representation change [symbol]
Explanation
An object defined with one type was used as a dissimilar type, for
example, a long
object was accessed as a pointer.
This message
can occur when an assignment is made to a member
of a union, and then the value is accessed from a different member of
the union. It can also occur when an address to data of one type is used
to access data of a dissimilar type by means of a cast.
303
WARNING: Reference has overlapping definition [symbol]
Explanation
A storage reference was determined
by the optimizer to overlap an object or an element of an object.
The effect of such accesses is not defined by the ISO/ANSI C standard.
The warning indicates that optimization of the code may change its
effect from what was intended. If the code cannot be rewritten
in a more portable fashion, it is recommended to disable optimization
for this source file.
304
WARNING: Dead assignment eliminated [symbol]
Explanation
[symbol] was assigned a value on the indicated line, but the value was
never used. The assignment was therefore eliminated.
305
WARNING: Uninitialized variable [symbol]
Explanation
The named identifier was
not initialized before it was used. The value resulting is unpredictable.
306
NOTE: [reason] function inlined: [function name] from line [number].
Explanation
This message occurs as a consequence of multiple levels of inlining.
The value [number] is the line number of the call. The named function
was expanded inline on the line cited in the message.
The line [number] is included only when the location at which the call
was expanded differs from the location of the call.
The [reason] indicates whether the __inline
keyword,
complexity=[c]
option, or local
option caused the inlining to occur. The [c] represents the
complexity of the function, not the value of the complexity=[c]
option.
Although the cross-platform form of the complexity=[c]
option is -Oic=
[number], the value for [reason] will assume
the "complexity" form even when the cross-platform compiler is used.
307
WARNING: Return value missing in inline function.
Explanation
The indicated line is a return from a function which has been inlined.
A caller of the function uses the returned value, but the
return
statement does not specify one.
308
WARNING: Inline function does not use formal parameter [symbol]
Explanation
The indicated line is a call that has been inlined.
[symbol] is the name of a formal parameter that is not used in the function.
309
WARNING: Integer operation overflows.
Explanation
This message is generated when the cross-platform compiler detects
that an integer computation overflows.
315
WARNING: Static variable is unreachable
Explanation
Control flow cannot reach a use of this variable.
The optimizer removes the variable because the variable is
effectively unused, so no storage is allocated for it.
316
WARNING: Static function is unreachable
Explanation
This static function cannot be called because control
flow cannot reach a call to this function. In some cases this message might
be issued because the C++ translator creates
static virtual functions which are never actually called, and so
can be eliminated by the optimizer.
317
WARNING: Possibly uninitialized variable
Explanation
This message is issued because initialization of a variable
took place inside conditionally executed code.
The optimizer cannot determine whether it is possible for
the variable to be referenced before it is initialized. The code may
be correct even though the optimizer cannot guarantee this.
400
WARNING: Invalid comparison of pointer and scalar.
Explanation
The expression contains a relational or equality operator with a
pointer and an arithmetic operand. Either both
operands must have arithmetic type or both must be pointers.
401
ERROR: Illegal pointer subtraction for void pointers.
Explanation
void *
pointers cannot be used in arithmetic
expressions because they point to objects that have no
size.
402
WARNING: Function declared/defined static was previously declared
extern:[symbol].
Explanation
A declaration or a definition of a static function was found, but a
previous declaration of the function omitted the static
keyword. This message is suppressed unless the strict
option
(or cross-platform -W1,-ll
option) is specified.
404
WARNING: Variable name conflicts with typedef name.
Explanation
An identifier was declared in an inner scope with the same
typedef
name that had been declared in an outer scope. The
typedef
was hidden in the inner scope declaration. This message is
suppressed unless the strict
option is specified.
405
WARNING: Extraneous braces in initializer expression.
Explanation
An initializer expression contains more braces than required. Check
the syntax of the expression to make sure that it is correct.
This message is suppressed unless the strict
option
(or cross-platform -W1,-ll
option) is specified.
406
WARNING: 'If' condition always [true | false].
Explanation
The compiler determined that the condition in the if
statement was a constant expression. If the condition is true, the
compiler only generates code for the then
branch. If the
condition is false, the compiler only generates code for the
else
branch.
407
WARNING: Assignment statement as 'if' condition.
Explanation
An assignment operator (=
) was used when an equality operator
(==
) may have been intended.
409
WARNING: Function declared static within a block.
Explanation
The compiler ignores the static
keyword if it is used in a
function declaration in an inner block. Static functions cannot be
declared in inner blocks.
412
ERROR: Size of object is unknown.
Explanation
The type of one of the operands in an aggregate (structure or union)
assignment is incomplete, and its size cannot be determined. This
situation can occur when a structure or union tag declares a variable,
but the tag itself has not been defined.
413
WARNING: Comparison of unsigned value and constant is always [true | false].
Explanation
Comparison of an unsigned value and a signed constant yielded either a
true or false value.
For example, this comparison will
always be false because ui
can never be a negative value:
unsigned int ui; if (ui < 0 ) ...The compiler does not generate code to perform the test, nor does it generate any code for the true branch of the
if
statement.
WARNING: Conversion of negative constant to unsigned type.
unsigned long
:
static unsigned long u1 = -1;The compiler issues a warning message in this case. A more correct method of setting all bits to 1 is as follows:
static unsigned long u1 = 0xffffffff;
WARNING: Trailing comma in enum declaration.
enum
declaration.
WARNING: Empty argument to a preprocessor macro.
cat(X,,Z)
produces XZ
:
#define cat(a,b,c) a##b##cThis message is suppressed unless the
strict
option
(or cross-platform -W1,-ll
option) is specified.
ERROR: Unexpected I/O error.
stderr
for more information.
WARNING: Argument type is unsupported for __ref functions.
__ref
function is of a type that
cannot have the @
operator applied to it. For instance, an attempt was made to pass
a bitfield to a __ref
function.
WARNING: Symbol exceeds maximum length: [symbol]
extname
option is specified, an identifier can be up to 64K characters long.
This message is suppressed unless the mention
option is
specified.
WARNING: Unknown option [name].
#pragma options
statement but is not a recognized compiler option. The option may be
misspelled, or it may be a command-line-only option.
WARNING: Option does not accept argument [name].
#pragma options
statement,
does not accept an argument in parentheses.
WARNING: Invalid argument to option [name].
#pragma options
statement is invalid or out of range.
WARNING: Invalid option in pragma: [name].
#pragma options
statement, the compiler
found the specified symbol instead of an option name.
WARNING: Option not allowed in options pragma: [name].
WARNING:Option can not be negated: [name].
no
. For example,
nopagesize
is not a valid option.
WARNING: Static prototype in included file.
mention
option (or cross-platform +n
option) is specified.
WARNING: Non-static prototype in main source file.
mention
option (or cross-platform -W1,+n
option) is specified.
WARNING: Only first dimension may be undefined.
WARNING: Assignment to non-const __norent variable will prevent reentrancy.
__norent
in a compilation using the rent
or
rentext
option, but the const
qualifier was not specified.
This implies that the variable may be assigned elsewhere in the
program. If, in fact, the variable is assigned elsewhere, the program will
be non-reentrant.
WARNING: Initialization prevents reentrancy.
__norent
keyword in
the SAS/C Compiler and Library User's Guide for more information
WARNING: Operation/comparison of pointer to char and pointer to [type].
char
may not be compare or assigned to pointers of other
types. The compiler flags the statement as a possible portability
problem.
This message is suppressed unless the strict
option
(or cross-platform -W1,-ll option) is used.
438
WARNING: Application of this linkage request is invalid.
Explanation
#pragma linkage
was specified for
an identifier declared with a conflicting keyword, such as
__ref
#pragma linkage
directive.
441
WARNING: Assignment of int to short.
Explanation
A signed
or unsigned int
was assigned to a short
or unsigned short
. Data truncation may
occur.
This message is suppressed unless the strict
option
(or cross-platform -W1,-ll
option) is used.
442
WARNING: Function declared with two different types: [function name]
Explanation
The function specified in the message was declared as
having two conflicting types.
443
WARNING: Assignment of short to char.
Explanation
A signed
or unsigned short
was assigned to a char
(possibly signed
or unsigned
). Data truncation may occur.
This message is suppressed unless the strict
option
(or cross-platform -W1,-ll
option) is used.
444
WARNING: Assignment of int to char.
Explanation
A signed
or unsigned int
was assigned to a char
. Data truncation may occur.
(possibly signed
or unsigned
).
This message is suppressed unless the strict
option
(or cross-platform -W1,-ll
option) is used.
445
WARNING: Assignment of long to char.
Explanation
A signed
or unsigned long
was assigned to a char
. Data truncation may occur.
(possibly signed
or unsigned
).
This message is suppressed unless the strict
option
(or cross-platform -W1,-ll
option) is used.
446
WARNING: Assignment of long to short.
Explanation
A signed
or unsigned long
was assigned to a
signed
or unsigned short
. Data truncation may occur.
This message is suppressed unless the strict
option
(or cross-platform -W1,-ll
option) is used.
447
WARNING: Constant assignment too large for char.
Explanation
A constant with a value greater than the maximum value for
type char
was assigned to a variable of type char
.
This message is suppressed unless the strict
option
(or cross-platform -W1,-ll
option) is used.
448
WARNING: Constant assignment too small for char.
Explanation
A constant with a value smaller than the minimum value for
type char
was assigned to a variable of type char
.
This message is suppressed unless the strict
option
(or cross-platform -W1,-ll
option) is used.
449
WARNING: Constant assignment too large for unsigned char.
Explanation
A constant with a value greater than 255 was assigned to
a variable of type unsigned char
. Data truncation will occur.
450
WARNING: Constant assignment too small for unsigned char.
Explanation
A constant with a value less than 0 was assigned to a
variable of type unsigned char
. Data truncation will occur.
451
WARNING: Constant assignment too large for signed char.
Explanation
A constant with a value greater than 127 was assigned to
variable of type signed char
. Data truncation will occur.
452
WARNING: Constant assignment too small for signed char.
Explanation
A constant with a value less than -128 was assigned to a
variable of type signed char
. Data truncation will occur.
453
WARNING: Assignment of long constant to char.
Explanation
A constant of type long
was assigned to a variable of
type char
. This may indicate a portability problem, as
data truncation could occur on a different platform.
This message is suppressed unless the strict
option
(or cross-platform -W1,-ll
option) is used.
454
WARNING: Constant assignment too large for short.
Explanation
A constant whose value is greater than the maximum value for the
type short
was assigned to a variable of type short
. Data
truncation will occur.
455
WARNING: Constant assignment too small for short.
Explanation
A constant with a value smaller than the minimum value for type
short
was assigned to a variable of type short
. Data
truncation will occur.
456
WARNING: Constant assignment too large for unsigned short.
Explanation
A constant whose value is greater than the maximum value for the
type unsigned short
was assigned to a variable of type
unsigned short
. Data truncation will occur.
457
WARNING: Constant assignment too small for unsigned short.
Explanation
A constant with a value smaller than the minimum value for type
unsigned short
was assigned to a variable of type
unsigned short
459
WARNING: Assignment of long constant to short.
Explanation
A constant of type long
was assigned to a variable of
type short
. This may indicate a portability problem, as
data truncation could occur on a different platform.
This message is suppressed unless the strict
option
(or cross-platform -W1,-ll
option) is used.
460
WARNING: Constant assignment too large for int.
Explanation
An unsigned constant whose value is greater than the maximum
unsigned
value for the type int
was assigned to a variable of type
int
. Data truncation will occur.
This message is suppressed unless the strict
option
(or cross-platform -W1,-ll
option) is used.
461
WARNING: Constant assignment too small for int.
Explanation
A constant whose value is less than the minimum value for the
type int
was assigned to a variable of type int
. Data
truncation will occur.
This message is suppressed unless the strict
option
(or cross-platform -W1,-ll
option) is used.
462
WARNING: Constant assignment too large for unsigned int.
Explanation
A constant whose value is greater than the maximum value for
the type unsigned int
was assigned to a variable of type
unsigned int
. Data truncation will occur.
This message is suppressed unless the strict
option
(or cross-platform -W1,-ll
option) is used.
463
WARNING: Constant assignment too small for unsigned int.
Explanation
A constant with a value less than 0 was assigned to a
variable of type unsigned int
. The
constant will be converted to a large unsigned
value, which
may not be the intended effect.
465
WARNING: Assignment of long constant to int.
Explanation
A constant of type long
was assigned to a variable of
type int
. The assignment will behave properly on the 370,
but may not if ported to another machine architecture. This message is
suppressed unless the strict
option
(or cross-platform -W1,-ll
option) is used.
469
WARNING: Constant assignment too small for unsigned long.
Explanation
A constant with a value less than 0 was assigned to a
variable of type unsigned long
.
The constant will be converted to a large unsigned long
value, which
may not be the intended effect.
470
WARNING: Assignment of unsigned constant to long.
Explanation
A constant of type unsigned long
whose value is greater than
the maximum value of the type long
was assigned to a
variable of type long
. Data truncation will occur.
This message is suppressed unless the strict
option
(or cross-platform -W1,-ll
option) is used.
473
WARNING: Operation/comparison of unsigned *char and signed *char.
Explanation
An assignment was made between signed
and unsigned char
pointers.
This message is suppressed unless the strict
option
(or cross-platform -W1,-ll
option) is used.
476
WARNING: Invalid control expression in for statement.
Explanation
The control (second) expression of a for
statement had
void
type. The control expression must either have an arithmetic or
pointer type, or be omitted.
477
WARNING: Unmatched quote in #pragma title preprocessor command.
Explanation
An unmatched quote was found in processing a #pragma
title
compiler directive.
Unnumbered Error and Warning Messages
These messages are compiler diagnostic notes concerning the following:
Invalid DDname prefix specified
files
compiler option
contains characters that cannot be used in a DDname, or the argument
is longer than three characters (MVS, TSO only).
Invalid default bitfield type.
bitfield
option
must be either 1, 2, or 4. The bitfield
option
(or cross-platform -Kbitfield
option) is
ignored.
Invalid GO complexity() option: 0-20 allowed - overridden.
complexity
option (or cross-platform -Oic=
[number]
option) requires an integer value between 0 and 20,
inclusive. The compiler will use a default value of 0.
Invalid GO depth() option: 0 -6 allowed - overridden.
depth
option (or cross-platform -Oid=
[number] option)
requires an integer value between
0 and 6, inclusive. The compiler will use a default value of 3.
Invalid GO inline option [text].
Invalid GO rdepth() option: 0-6 allowed - overridden.
rdepth
option (or cross-platform -Oir=
[number] option)
requires an integer value between 0 and 6, inclusive.
The compiler will use a default value of 1.
Invalid LISTING disposition specified
Invalid multiple specified for zapspace size.
zapspace
option (or cross-platform -Kzapspace
option)
requires an integer value between
0 and 22, inclusive. A value was found that did not fit these
criteria, so the compiler used the default value of 1.
Invalid number of lines per page specified for listing
pagesize
option was not greater
than 10 and less than 255. The compiler sets the page size to
55.
Unknown option [xxx] [yyy].
Invalid [option-type] option: [text]
Invalid section name specified.
sname
option (or cross-platform -ksname
option)
specified a string that either contained invalid characters
or was longer than seven characters.
Invalid symbol definition.
define
option (or cross-platform -Dsym=
[value] option).
Invalid value specified for minimum zapspace size.
zapmin
option (or cross-platform -Kzapmin
option) requires an integer value between 24 and 512, inclusive.
The compiler will use a default value of 1.
stderr
, provide additional information.
Can't close file for debugger symbol information.
Can't create file for debugger symbol information.
Can't create object file.
Can't create quad file.
Can't open quad file.
Can't open source file.
End-of-file on object file.
Error closing object file.
Intermediate file error.
Invalid quad file.
No functions or data defined.
Not enough memory.
Object file error.
Can't reopen output quad file.
Error while replacing quad file.
Quad file not replaced.