C Compiler c88 (3)
Main Tool Chain
Frontend
E 89:
illegal bitfield declarator
A bit field may only be declared as an integer, not as a
pointer or a function for example.
E 90:
#error
message
The
message is the descriptive text supplied in a '#error'
preprocessor directive.
W 91: no prototype for function
Each function should have a valid function prototype.
"
name"
W 92: no prototype for indirect
Each function should have a valid function prototype.
function call
I 94:
hiding earlier one
Additional message which is preceded by error E 63. The
second declaration will be used.
F 95:
protection error:
message
Something went wrong with the protection key initialization.
E 96:
syntax error in #define
#define id(
requires a right-parenthesis ')'.
E 97:
"..." incompatible with
If one function has a parameter type list and another
old-style prototype
function, with the same name, is an old-style declaration,
the parameter list may not have ellipsis.
E 98:
function type cannot be
A
typedef
cannot be used for a function definition.
inherited from a typedef
F 99:
conditional directives
'#if', '#ifdef' or '#ifndef' directives may not be nested
nested too deep
deeper than 50 levels.
E 100: case or default label not
The
case:
or
default:
label may only appear inside a
inside switch
switch
.
E 101: vacuous declaration
Something is missing in the declaration.
E 102: duplicate case or default
Switch case values must be distinct after evaluation and
label
there may be at most one
default:
label inside a
switch
.
E 103: may not subtract pointer
The only operands allowed on subtraction of pointers is
from scalar
pointer - pointer, or pointer - scalar.
E 104: left operand of operator has The first operand of a '.' or '->' must have a
struct
or
not struct/union type
union
type.
E 105: zero or negative array size
Array bound constants must be greater than zero.
- ignored
E 106: different constructors
Compatible function types with parameter type lists must
agree in number of parameters and in use of ellipsis. Also,
the corresponding parameters must have compatible
types.
E 107: different array sizes
Corresponding array parameters of compatible function
types must have the same size.
E 108: different types
Corresponding parameters must have compatible types
and the type of each prototype parameter must be
compatible with the widened definition parameter.
Error/Warning Messages
Frontend
E 64: incompatible redeclaration
The specified identifier was already declared.
of "
name"
W 66: function "
name": variable
A variable is declared which is never used.
"
name" not used
W 67: illegal suboption:
option
The suboption is not valid for this option.
W 68: function "
name": parameter A function parameter is declared which is never used.
"
name" not used
E 69: declaration contains more
Type specifiers may not be repeated.
than one basic type specifier
E 70: 'break' outside loop or switch A
break
statement may only appear in a
switch
or a
loop (
do
,
for
or
while
).
E 71: illegal type specified
The type you specified is not allowed in this context.
W 72: duplicate type modifier
Type qualifiers may not be repeated in a specifier list or
qualifier list.
E 73: object cannot be bound to
Use only one memory attribute per object.
multiple memories
E 74: declaration contains more
A declaration may contain at most one storage class
than one class specifier
specifier.
E 75: 'continue' outside a loop
continue
may only appear in a loop body (
do
,
for
or
while
).
E 76: duplicate macro parameter
The given identifier was used more than one in the format1
"
name"
parameter list of a macro definition.
E 77: parameter list should be
An identifier list, not part of a function definition, must be
empty
empty.
E 78: 'void' should be the only
Within a function prototype of a function that does not
parameter
except any arguments, void may be the only parameter.
E 79: constant expression
A constant expression may not contain a comma. Also, the
expected
bit field width, an expression that defines an
enum
, array-
bound constants and
switch case
expressions must all
be integral constant expressions.
E 80: '#' operator shall be followed The '#' operator must be followed by a macro argument.
by macro parameter
E 81: '##' operator shall not occur The '##' (token concatenation) operator is used to paste
at beginning or end of a
together adjacent preprocessor tokens, so it cannot be
macro
used at the beginning or end of a macro body.
W 86: escape character truncated The value of a hexadecimal escape sequence (a backslash,
to 8 bit value
\, followed by a 'x' and a number) must fit in 8 bits storage.
E 87: concatenated string too long The resulting string was longer than the limit of 1500
characters.
W 88: "
name" redeclared with
The specified identifier was already declared.
different linkage