-

Difference between revisions of "Error Messages"

From HI-TECH C for CP/M Fan WIKI(EN)
Jump to: navigation, search
(Created page with "Error Messages produced by the compiler are listed below. Each message is followed by the name of the program which produces it, and some further description of what causes th...")
 
Line 1: Line 1:
 +
App1
 +
 
Error Messages produced by the compiler are listed
 
Error Messages produced by the compiler are listed
 
below. Each message is followed by the name of the program
 
below. Each message is followed by the name of the program
Line 7: Line 9:
  
 
'.' expected after '..' P1
 
'.' expected after '..' P1
The ellipsis symbol must have three dots
+
:The ellipsis symbol must have three dots
  
 
actuals too long CPP
 
actuals too long CPP
Reduce length of macro arguments
+
:Reduce length of macro arguments
  
 
argument list conflicts with prototype P1
 
argument list conflicts with prototype P1
The argument list in a function definition must agree
+
:The argument list in a function definition must agree with a prototype if one exists
with a prototype if one exists
 
  
 
argument redeclared P1
 
argument redeclared P1
This argument has been declared twice
+
:This argument has been declared twice
  
 
arithmetic overflow in constant expression CGEN
 
arithmetic overflow in constant expression CGEN
Evaluation of this constant expression produced an
+
:Evaluation of this constant expression produced an arithmetic overflow. This may or may not represent a true error.
arithmetic overflow. This may or may not represent a
 
true error.
 
  
 
array index out of bounds P1
 
array index out of bounds P1
An array index expression evaluates to a constant which
+
:An array index expression evaluates to a constant which is less than zero or greater than or equal to the dimension of the array
is less than zero or greater than or equal to the
 
dimension of the array
 
  
 
Assertion CGEN
 
Assertion CGEN
Internal error - contact HI-TECH
+
:Internal error - contact HI-TECH
  
 
attempt to modify const object P1
 
attempt to modify const object P1
An attempt has been made to assign to or otherwise
+
:An attempt has been made to assign to or otherwise modify an object designated as 'const'
modify an object designated as 'const'
 
  
 
bad bitfield type P1
 
bad bitfield type P1
Bitfields must be of type 'int'
+
:Bitfields must be of type 'int'
  
 
Bad conval CGEN
 
Bad conval CGEN
Internal error - contact HI-TECH
+
:Internal error - contact HI-TECH
  
 
Bad dimensions CGEN
 
Bad dimensions CGEN
An array has bad dimensions - probably zero
+
:An array has bad dimensions - probably zero
  
 
Bad element count expr CGEN
 
Bad element count expr CGEN
Internal error - contact HI-TECH
+
:Internal error - contact HI-TECH
  
 
bad formal CPP
 
bad formal CPP
Check macro defintion syntax
+
:Check macro defintion syntax
  
 
bad include syntax CPP
 
bad include syntax CPP
Use only "" and <> for include files
+
:Use only "" and <> for include files
  
 
Bad int. code CGEN
 
Bad int. code CGEN
The intermediate code file has been corrupted - can be
+
:The intermediate code file has been corrupted - can be caused by running out of disk space
caused by running out of disk space
 
  
 
Bad -M option CGEN
 
Bad -M option CGEN
A -M option passed to the code generator is unknown
+
:A -M option passed to the code generator is unknown
  
 
Bad mod '+' for how = c CGEN
 
Bad mod '+' for how = c CGEN
Internal error - contact HI-TECH
+
:Internal error - contact HI-TECH
  
 
bad object code format LINK
 
bad object code format LINK
This file is either corrupted or not a valid object
+
:This file is either corrupted or not a valid object file
file
 
  
 
Bad op d to swaplog CGEN
 
Bad op d to swaplog CGEN
Internal error - contact HI-TECH
+
:Internal error - contact HI-TECH
  
 
Bad op n to revlog CGEN
 
Bad op n to revlog CGEN
Internal error - contact HI-TECH
+
:Internal error - contact HI-TECH
  
 
bad origin format in spec LINK
 
bad origin format in spec LINK
An address in a -p option is invalid
+
:An address in a -p option is invalid
  
 
bad '-p' format LINK
 
bad '-p' format LINK
The -p option provided is invalid
+
:The -p option provided is invalid
  
 
Bad pragma c CGEN
 
Bad pragma c CGEN
The code generator has been passed a pragma it does not
+
:The code generator has been passed a pragma it does not know about
know about
 
  
 
Bad putwsize CGEN
 
Bad putwsize CGEN
Internal error - contact HI-TECH
+
:Internal error - contact HI-TECH
  
 
bad storage class P1, CGEN
 
bad storage class P1, CGEN
The speficied storage class is illegal
+
:The speficied storage class is illegal
  
 
Bad U usage CGEN
 
Bad U usage CGEN
Internal error - contact HI-TECH
+
:Internal error - contact HI-TECH
  
 
Bit field too large (n bits) CGEN
 
Bit field too large (n bits) CGEN
A bit field may not be larger than an int
+
:A bit field may not be larger than an int
  
 
Cannot get memory LINK
 
Cannot get memory LINK
The linker has run out of dynamic memory
+
:The linker has run out of dynamic memory
  
 
Can't be both far and near P1
 
Can't be both far and near P1
The 'far' and 'near' keywords cannot appear in the same
+
:The 'far' and 'near' keywords cannot appear in the same type specifier
type specifier
 
  
 
can't be long P1
 
can't be long P1
Chars and shorts cannot be long
+
:Chars and shorts cannot be long
  
 
can't be register P1
 
can't be register P1
An extern or static variable may not be register
+
:An extern or static variable may not be register
  
 
can't be short P1
 
can't be short P1
Float and char cannot be short
+
:Float and char cannot be short
  
 
can't be unsigned P1
 
can't be unsigned P1
Float cannot be unsigned
+
:Float cannot be unsigned
  
 
can't call an interrupt function P1
 
can't call an interrupt function P1
A function qualified 'interrupt' can only be called by
+
:A function qualified 'interrupt' can only be called by hardware, not by an ordinary function call
hardware, not by an ordinary function call
 
  
 
Can't create filename CGEN
 
Can't create filename CGEN
The file specified could not be created
+
:The file specified could not be created
  
 
Can't create xref file P1
 
Can't create xref file P1
The cross reference file specified could not be created
+
:The cross reference file specified could not be created
  
 
Can't create CPP
 
Can't create CPP
Output file could not be created
+
:Output file could not be created
  
 
Can't create LINK
 
Can't create LINK
The linker cannot create a file
+
:The linker cannot create a file
  
 
Can't find include file CPP
 
Can't find include file CPP
Check and correct the include file name - spaces are
+
:Check and correct the include file name - spaces are not allowed in file names
not allowed in file names
 
  
 
Can't find register for bits CGEN
 
Can't find register for bits CGEN
Internal error - contact HI-TECH
+
:Internal error - contact HI-TECH
  
 
Can't generate code for this expression CGEN
 
Can't generate code for this expression CGEN
The code generator is unable to generate code for this
+
:The code generator is unable to generate code for this expression - simplifying the expression (e.g. computing values into temporary variables) will usually correct
expression - simplifying the expression (e.g. computing
 
values into temporary variables) will usually correct
 
 
it, otherwise contact HI-TECH
 
it, otherwise contact HI-TECH
  
 
can't have array of functions P1
 
can't have array of functions P1
You cannot have an array of functions - you can have an
+
:You cannot have an array of functions - you can have an array of pointers to functions
array of pointers to functions
 
  
 
Can't have 'port' variable CGEN
 
Can't have 'port' variable CGEN
You cannot declare a variable to be qualified 'port' -
+
:You cannot declare a variable to be qualified 'port' - you can only use port to qualify pointers or typecast constant values
you can only use port to qualify pointers or typecast
 
constant values
 
  
 
can't have storage class P1
 
can't have storage class P1
A storage class may not appear in a prototype argument
+
:A storage class may not appear in a prototype argument
  
 
can't initialise auto aggregates P1
 
can't initialise auto aggregates P1
You cannot initialise a structure or array inside a
+
:You cannot initialise a structure or array inside a function unless it is static
function unless it is static
 
  
 
can't initialize arg P1
 
can't initialize arg P1
An argument cannot have an initializer
+
:An argument cannot have an initializer
  
 
can't mix proto and non-proto args P1
 
can't mix proto and non-proto args P1
You cannot mix prototype and non-prototype arguments
+
:You cannot mix prototype and non-prototype arguments even in a function definitional  
even in a function definitional  
 
  
 
Can't open filename CGEN
 
Can't open filename CGEN
The file specified could not be opened for reading
+
:The file specified could not be opened for reading
  
 
Can't open LINK
 
Can't open LINK
The linker cannot open a file
+
;The linker cannot open a file
  
 
Can't seek LINK
 
Can't seek LINK
The linker could not seek in file
+
:The linker could not seek in file
  
 
can't take address of register variable P1
 
can't take address of register variable P1
You can't take the address of a variable in a register
+
:You can't take the address of a variable in a register
  
 
can't take sizeof func CGEN
 
can't take sizeof func CGEN
You can't take the size of a function. You can take the
+
:You can't take the size of a function. You can take the size of a function call
size of a function call
 
  
 
can't take this address P1
 
can't take this address P1
The expression does not have an address
+
:The expression does not have an address
  
 
'case' not in switch P1
 
'case' not in switch P1
A 'case' label is permitted only inside a switch
+
:A 'case' label is permitted only inside a switch
  
 
char const too long P1
 
char const too long P1
A character constant may have only one character in it
+
:A character constant may have only one character in it
  
 
close error (disk space?) P1
 
close error (disk space?) P1
Probably out of disk space
+
:Probably out of disk space
  
 
common symbol psect conflict LINK
 
common symbol psect conflict LINK
A common symbol is defined to be in more than one psect
+
:A common symbol is defined to be in more than one psect
  
 
constant conditional branch CGEN
 
constant conditional branch CGEN
You have a program structure testing a constant expres-
+
:You have a program structure testing a constant expression, e.g. while(1). You should substitute for this the
sion, e.g. while(1). You should substitute for this the
 
 
more efficient for(;;)
 
more efficient for(;;)
  
 
constant expression required P1
 
constant expression required P1
A constant expression is required in e.g. an array
+
:A constant expression is required in e.g. an array dimension
dimension
 
  
 
constant operand to || or && CGEN
 
constant operand to || or && CGEN
A logical operator has a constant operand which has
+
:A logical operator has a constant operand which has been optimized out
been optimized out
 
  
 
declarator too complex P1
 
declarator too complex P1
This declaration is too complex for the compiler to
+
:This declaration is too complex for the compiler to handle
handle
 
  
 
default case redefined P1
 
default case redefined P1
Only one default case is permitted in a switch
+
:Only one default case is permitted in a switch
  
 
'default' not in switch P1
 
'default' not in switch P1
A 'default' label is permitted only inside a switch
+
:A 'default' label is permitted only inside a switch
  
 
digit out of range P1
 
digit out of range P1
An octal constant may not contain 7 or 8, and a decimal
+
:An octal constant may not contain 7 or 8, and a decimal constant may not contain A-F
constant may not contain A-F
 
  
 
dimension required P1
 
dimension required P1
A dimension is required for all except the most signi-
+
:A dimension is required for all except the most significant in an array declaration
ficant in an array declaration
 
  
 
Division by zero CGEN
 
Division by zero CGEN
Attempt to divide by zero in this expression
+
:Attempt to divide by zero in this expression
  
 
Duplicate case label n CGEN
 
Duplicate case label n CGEN
There are two case labels in this switch that have the
+
:There are two case labels in this switch that have the same value
same value
 
  
 
Duplicate -d flag LINK
 
Duplicate -d flag LINK
Only one -d flag is allowed to the linker
+
:Only one -d flag is allowed to the linker
  
 
duplicate label P1
 
duplicate label P1
This label is defined twice
+
:This label is defined twice
  
 
Duplicate -m flag LINK
 
Duplicate -m flag LINK
Only one -m flag is allowed to the linker
+
:Only one -m flag is allowed to the linker
  
 
duplicate qualifier P1
 
duplicate qualifier P1
The same qualifier appears more than once in this type
+
:The same qualifier appears more than once in this type specifier
specifier
 
  
 
entry point multiply defined LINK
 
entry point multiply defined LINK
A program can only have one entry point (start address)
+
:A program can only have one entry point (start address)
  
 
EOF in #asm P1
 
EOF in #asm P1
End of file was encounterd after #asm and before a
+
:End of file was encounterd after #asm and before a #endasm was seen
#endasm was seen
 
  
 
Error closing output file CGEN,CPP
 
Error closing output file CGEN,CPP
Probably means you have run out of disk space
+
:Probably means you have run out of disk space
  
 
excessive -I file ignored CPP
 
excessive -I file ignored CPP
Use fewer -I options
+
:Use fewer -I options
  
 
expand - bad how CGEN
 
expand - bad how CGEN
Internal error - contact HI-TECH
+
:Internal error - contact HI-TECH
  
 
expand - bad which CGEN
 
expand - bad which CGEN
Internal error - contact HI-TECH
+
:Internal error - contact HI-TECH
  
 
exponent expected P1
 
exponent expected P1
An exponent is expected after the 'e' or 'E' in a
+
:An exponent is expected after the 'e' or 'E' in a floating point constant. The exponent must contain only
floating point constant. The exponent must contain only
 
 
+, - and digits 0-9
 
+, - and digits 0-9
  
 
Expression error CGEN
 
Expression error CGEN
Internal error - contact HI-TECH
+
:Internal error - contact HI-TECH
  
 
expression generates no code CGEN
 
expression generates no code CGEN
This expression has no side effects and thus generates
+
:This expression has no side effects and thus generates no code. It has been optimized out
no code. It has been optimized out
 
  
 
expression syntax P1
 
expression syntax P1
The expression is badly formed
+
:The expression is badly formed
 +
 
 
expression too complex P1
 
expression too complex P1
The expression has too many nested parantheses or other
+
:The expression has too many nested parantheses or other
 
nested constructs
 
nested constructs
  
 
Fixup overflow referencing LINK
 
Fixup overflow referencing LINK
The linker has relocated a reference to a psect or sym-
+
:The linker has relocated a reference to a psect or symbol and the relocated address is too big to fit into
bol and the relocated address is too big to fit into
+
the space, e.g. a relocated one byte address exceeds 256 or a relocated 16 bit address exceeds 65536
the space, e.g. a relocated one byte address exceeds
 
256 or a relocated 16 bit address exceeds 65536
 
  
 
float param coerced to double P1
 
float param coerced to double P1
This float parameter has been converted to double - a
+
:This float parameter has been converted to double - a prototype will override this coercion
prototype will override this coercion
 
  
 
function() declared implicit int P1
 
function() declared implicit int P1
This function has been called without an explicit
+
:This function has been called without an explicit declaration. It is wise to explicitly declare all func-
declaration. It is wise to explicitly declare all func-
+
tions, preferably with a prototype. This will avoid many potential errors where your program comprises more
tions, preferably with a prototype. This will avoid
 
many potential errors where your program comprises more
 
 
than one source file
 
than one source file
  
 
function does not take arguments P1
 
function does not take arguments P1
The prototype for this function indicates it takes no
+
:The prototype for this function indicates it takes no arguments
arguments
 
  
 
function or function pointer required P1
 
function or function pointer required P1
A function identifier or pointer to function is
+
:A function identifier or pointer to function is required for a function call.
required for a function call.
 
  
 
functions can't return arrays P1
 
functions can't return arrays P1
A function cannot return an array - it can return a
+
:A function cannot return an array - it can return a pointer
pointer
 
  
 
functions can't return functions P1
 
functions can't return functions P1
A function cannot return a function - it can return a
+
:A function cannot return a function - it can return a pointer to function
pointer to function
 
  
 
hex digit expected P1
 
hex digit expected P1
A hex digit is expected after '0x'
+
:A hex digit is expected after '0x'
  
 
identifier is a structure tag P1
 
identifier is a structure tag P1
A structure tag has been used in a context where
+
:A structure tag has been used in a context where another kind of tag is expected, e.g. saying struct fred where fred has previously been declared as union fred.
another kind of tag is expected, e.g. saying struct
 
fred where fred has previously been declared as union
 
fred.
 
  
 
identifier is a union tag P1
 
identifier is a union tag P1
Similar to the above error
+
:Similar to the above error
  
 
identifier is an enum tag P1
 
identifier is an enum tag P1
Similar to the above error
+
:Similar to the above error
  
 
identifier: large offset CGEN
 
identifier: large offset CGEN
Z80 only: This identifier has a large offset from the
+
:Z80 only: This identifier has a large offset from the stack frame and thus access to it is inefficient. In a function any arrays should be declared after any simple variables
stack frame and thus access to it is inefficient. In a
 
function any arrays should be declared after any simple
 
variables
 
  
 
identifier redeclared P1
 
identifier redeclared P1
The identifier has been redeclared with different
+
:The identifier has been redeclared with different attributes
attributes
 
  
 
identifier redefined P1
 
identifier redefined P1
An identifier has been defined twice
+
:An identifier has been defined twice
  
 
If-less else CPP
 
If-less else CPP
Check #if usage
+
:Check #if usage
  
 
If-less endif CPP
 
If-less endif CPP
Check #if usage
+
:Check #if usage
  
 
illegal '#' directive P1
 
illegal '#' directive P1
A # directive passed through to the first pass is unk-
+
:A # directive passed through to the first pass is unknown. If this occurs with a #include it may be caused
nown. If this occurs with a #include it may be caused
+
by a previous include file not having a <CR><LF> or newline on the last line.
by a previous include file not having a <CR><LF> or
 
newline on the last line.
 
  
 
Illegal character in preprocessor if CPP
 
Illegal character in preprocessor if CPP
Check for strange character
+
:Check for strange character
  
 
illegal character P1
 
illegal character P1
A character unknown to the compiler has been encoun-
+
:A character unknown to the compiler has been encountered. The value given is the octal value of the character
tered. The value given is the octal value of the char-
 
acter
 
  
 
illegal conversion between pointer types P1
 
illegal conversion between pointer types P1
The expression causes one pointer type to be converted
+
:The expression causes one pointer type to be converted to another incompatible type
to another incompatible type
 
  
 
illegal conversion of integer to pointer P1
 
illegal conversion of integer to pointer P1
An integer is used where a pointer is expected
+
:An integer is used where a pointer is expected
  
 
illegal conversion of pointer to integer P1
 
illegal conversion of pointer to integer P1
A pointer is used where an integer is expected
+
:A pointer is used where an integer is expected
  
 
illegal conversion P1
 
illegal conversion P1
The type conversion here is illegal
+
:The type conversion here is illegal
  
 
Illegal flag LINK
 
Illegal flag LINK
This option is illegal
+
:This option is illegal
  
 
illegal function qualifier(s) P1
 
illegal function qualifier(s) P1
A function cannot have 'const' qualification
+
:A function cannot have 'const' qualification
  
 
illegal initialisation P1
 
illegal initialisation P1
The initialisation of this variable is illegal
+
:The initialisation of this variable is illegal
  
 
Illegal number CPP
 
Illegal number CPP
Check number syntax
+
:Check number syntax
  
 
illegal type for array dimension P1
 
illegal type for array dimension P1
An array dimension must be an integral quantity
+
:An array dimension must be an integral quantity
  
 
illegal type for index expression P1
 
illegal type for index expression P1
An array index must be a simple integral expression
+
:An array index must be a simple integral expression
  
 
illegal type for switch expression P1
 
illegal type for switch expression P1
The expression in a 'switch' must be integral
+
:The expression in a 'switch' must be integral
  
 
illegal use of void expression P1
 
illegal use of void expression P1
Void expressions may not be used in any way
+
:Void expressions may not be used in any way
  
 
implicit conversion of float to integer P1
 
implicit conversion of float to integer P1
A floating point value has been converted to integer -
+
:A floating point value has been converted to integer - truncation may occur
truncation may occur
 
  
 
implicit return at end of non-void function P1
 
implicit return at end of non-void function P1
A function with a non-void type has returned without a
+
:A function with a non-void type has returned without a return statement
return statement
 
  
 
implict signed to unsigned conversion P1
 
implict signed to unsigned conversion P1
Unwanted sign extension may occur here. Add an explicit
+
:Unwanted sign extension may occur here. Add an explicit typecast to force exactly the conversion you want
typecast to force exactly the conversion you want
 
  
 
inappropriate break/continue P1
 
inappropriate break/continue P1
  
 
inappropriate 'else' P1
 
inappropriate 'else' P1
An 'else' has appeared without a matching 'if'
+
:An 'else' has appeared without a matching 'if'
  
 
inconsistent storage class P1
 
inconsistent storage class P1
Only one storage class may be specified in a declara-
+
:Only one storage class may be specified in a declaration
tion
 
  
 
inconsistent type P1
 
inconsistent type P1
Only one basic type may be specified in a declaration
+
:Only one basic type may be specified in a declaration
  
 
initialisation illegal in arg list P1
 
initialisation illegal in arg list P1
You cannot initialise a function parameter
+
:You cannot initialise a function parameter
  
 
initialisation syntax P1
 
initialisation syntax P1
The syntax of this initialisation is illegal
+
:The syntax of this initialisation is illegal
  
 
initializer in 'extern' declaration P1
 
initializer in 'extern' declaration P1
A declaration with the 'extern' keyword has an initial-
+
:A declaration with the 'extern' keyword has an initializer; this is not permitted as the extern declaration
izer; this is not permitted as the extern declaration
 
 
reserves no storage
 
reserves no storage
  
 
integer constant expected P1
 
integer constant expected P1
An integer constant was expected here
+
:An integer constant was expected here
  
 
integer expression required P1
 
integer expression required P1
An integral expression is required here
+
:An integral expression is required here
  
 
integral type required P1
 
integral type required P1
An integral type is required here
+
:An integral type is required here
  
 
large offset CGEN
 
large offset CGEN
Z80 only: This identifier has a large offset from the
+
:Z80 only: This identifier has a large offset from the stack frame and thus access to it is inefficient. In a function any arrays should be declared after any simple variables
stack frame and thus access to it is inefficient. In a
 
function any arrays should be declared after any simple
 
variables
 
  
 
Line too long P1
 
Line too long P1
The source line is too long, or does not have a
+
The source line is too long, or does not have a <CR><LF> or newline at the end
<CR><LF> or newline at the end
 
  
local psect conflicts with global psect of same name
+
local psect conflicts with global psect of same name LINK
LINK
+
:A local psect cannot have the same name as a global psect
A local psect cannot have the same name as a global
 
psect
 
  
 
logical type required P1
 
logical type required P1
A logical type (i.e. an integral type) is required as
+
:A logical type (i.e. an integral type) is required as the subject of a conditional expression
the subject of a conditional expression
 
  
 
lvalue required P1
 
lvalue required P1
An lvalue, i.e. something which can be assigned to, is
+
:An lvalue, i.e. something which can be assigned to, is required after an '&' or on the left hand of an assignment
required after an '&' or on the left hand of an assign-
 
ment
 
  
 
macro recursion CPP
 
macro recursion CPP
A preprocessor macro has attempted to expand itself.
+
:A preprocessor macro has attempted to expand itself. This would create infinite recursion
This would create infinite recursion
 
  
 
member is not a member of the struct/union P1
 
member is not a member of the struct/union P1
This member is not in the structure or union with which
+
:This member is not in the structure or union with which it is used
it is used
 
  
 
members cannot be functions P1
 
members cannot be functions P1
A member cannot be a function - it can be a pointer to
+
:A member cannot be a function - it can be a pointer to function
function
 
  
 
Missing arg to -u LINK
 
Missing arg to -u LINK
-u requires an argument
+
:-u requires an argument
  
 
Missing arg to -w LINK
 
Missing arg to -w LINK
-w requires an argument
+
:-w requires an argument
  
 
missing ) CPP
 
missing ) CPP
Put correct ) in expression
+
:Put correct ) in expression
  
 
Missing number after % in -p option LINK
 
Missing number after % in -p option LINK
After % in a -p option there must be a number
+
:After % in a -p option there must be a number
  
 
Missing number after pragma 'pack' P1
 
Missing number after pragma 'pack' P1
The correct syntax is #pragma pack(n) where n is 1, 2
+
:The correct syntax is #pragma pack(n) where n is 1, 2 or 4.
or 4.
 
  
 
module has code below file base LINK
 
module has code below file base LINK
A -C option was specified but the program has code
+
:A -C option was specified but the program has code below the address specified as the base of the binary
below the address specified as the base of the binary
 
 
file
 
file
  
 
multiply defined symbol LINK
 
multiply defined symbol LINK
A symbol is defined more than once
+
:A symbol is defined more than once
  
 
name is a union, struct or enum P1
 
name is a union, struct or enum P1
A union, struct or enum tag has been re-used in a dif-
+
:A union, struct or enum tag has been re-used in a different context
ferent context
 
  
 
No case labels CGEN
 
No case labels CGEN
This switch has no case labels
+
:This switch has no case labels
  
 
no identifier in declaration P1
 
no identifier in declaration P1
This declaration should have an identifier in it
+
:This declaration should have an identifier in it
  
 
No room CGEN
 
No room CGEN
The code generator has run out of dynamic memory. You
+
:The code generator has run out of dynamic memory. You will need to reduce the number of symbols and/or the complexity of expressions
will need to reduce the number of symbols and/or the
 
complexity of expressions
 
  
 
No source file CPP
 
No source file CPP
Source file could not be found - check spelling, direc-
+
:Source file could not be found - check spelling, directory paths etc.
tory paths etc.
 
  
 
no space CPP
 
no space CPP
Reduce number/size of macro definitions
+
:Reduce number/size of macro definitions
  
 
no start record: entry point defaults to zero LINK
 
no start record: entry point defaults to zero LINK
No start address has been specified for the program;
+
:No start address has been specified for the program; the linker has set the start address to 0
the linker has set the start address to 0
 
  
 
Non-constant case label CGEN
 
Non-constant case label CGEN
This case label does not evaluate to an integral con-
+
:This case label does not evaluate to an integral constant
stant
 
  
 
non-void function returns no value P1
 
non-void function returns no value P1
A function which should return a value has a 'return'
+
:A function which should return a value has a 'return' statement with no value
statement with no value
 
  
 
not a variable identifier P1
 
not a variable identifier P1
The identifier is not a variable - it may be e.g. a
+
:The identifier is not a variable - it may be e.g. a label or structure tag
label or structure tag
 
  
 
not an argument P1
 
not an argument P1
This identifier is not in the argument list for this
+
:This identifier is not in the argument list for this function
function
 
  
 
only functions may be qualified interrupt P1
 
only functions may be qualified interrupt P1
The type qualifier 'interrupt' may be applied only to
+
:The type qualifier 'interrupt' may be applied only to functions, not variables.
functions, not variables.
 
  
 
only functions may be void P1
 
only functions may be void P1
Only functions, not variables, may be declared void
+
:Only functions, not variables, may be declared void
  
 
only lvalues may be assigned to or modified P1
 
only lvalues may be assigned to or modified P1
You have attempted to modify an expression which does
+
:You have attempted to modify an expression which does not identify a storage location
not identify a storage location
 
  
 
only register storage class allowed P1
 
only register storage class allowed P1
A parameter may only be auto or register
+
:A parameter may only be auto or register
  
 
operands of operator not same pointer type P1
 
operands of operator not same pointer type P1
The operands to the named operator in the expression
+
:The operands to the named operator in the expression are both pointers but are not the same pointer type
are both pointers but are not the same pointer type
 
  
 
operands of operator not same type P1
 
operands of operator not same type P1
The operands to the named operator in the expression
+
:The operands to the named operator in the expression are incompatible types
are incompatible types
 
  
 
pointer required P1
 
pointer required P1
A pointer is required after a '*' (indirection) opera-
+
:A pointer is required after a '*' (indirection) operator
tor
 
  
 
popreg - bad reg CGEN
 
popreg - bad reg CGEN
Internal error - contact HI-TECH
+
:Internal error - contact HI-TECH
  
 
portion of expression has no effect CGEN
 
portion of expression has no effect CGEN
A portion of this expression has no effect on its value
+
:A portion of this expression has no effect on its value and no side effects
and no side effects
 
  
 
probable missing '}' in previous block P1
 
probable missing '}' in previous block P1
A declaration has been encountered where an expression
+
:A declaration has been encountered where an expression was expected. The likely cause of this is that you have omitted a closing '}' in the function above this point.
was expected. The likely cause of this is that you have
 
omitted a closing '}' in the function above this point.
 
  
 
psect cannot be in classes a and b LINK
 
psect cannot be in classes a and b LINK
A psect can only be in one class
+
:A psect can only be in one class
  
 
psect exceeds max size LINK
 
psect exceeds max size LINK
This psect is larger than a specified maximum size
+
:This psect is larger than a specified maximum size
  
 
psect is absolute LINK
 
psect is absolute LINK
This psect is absolute and cannot have a link address
+
:This psect is absolute and cannot have a link address specified in a -p option
specified in a -p option
 
  
 
Psect not loaded on 0xhexnum boundary LINK
 
Psect not loaded on 0xhexnum boundary LINK
This psect must be loaded on a specific boundary
+
:This psect must be loaded on a specific boundary
  
 
Psect not relocated on 0xhexnum boundary LINK
 
Psect not relocated on 0xhexnum boundary LINK
This psect must be linked on a specific boundary
+
:This psect must be linked on a specific boundary
  
 
psect origin multiply defined LINK
 
psect origin multiply defined LINK
This psect has its link address defined more than once
+
:This psect has its link address defined more than once
  
 
pushreg - bad reg CGEN
 
pushreg - bad reg CGEN
Internal error - contact HI-TECH
+
:Internal error - contact HI-TECH
  
 
redundant & applied to array P1
 
redundant & applied to array P1
An array type has an '&' operator applied to it. It has
+
:An array type has an '&' operator applied to it. It has been ignored since use of an array implicitly gives its address
been ignored since use of an array implicitly gives its
 
address
 
  
 
regused - bad arg to G CGEN
 
regused - bad arg to G CGEN
Internal error - contact HI-TECH
+
:Internal error - contact HI-TECH
  
 
signatures do not matchLINK
 
signatures do not matchLINK
An extern function has been declared with an incorrect
+
:An extern function has been declared with an incorrect prototype. For example if an argument is declared as a long in an extern declaration, but is really an int, a signature mismatch will occur.
prototype. For example if an argument is declared as a
 
long in an extern declaration, but is really an int, a
 
signature mismatch will occur.
 
  
 
signed bitfields not supported P1
 
signed bitfields not supported P1
Only unsigned bitfields are supported
+
:Only unsigned bitfields are supported
  
 
simple type required P1
 
simple type required P1
An array or structure type cannot be used here
+
:An array or structure type cannot be used here
  
 
Sizeof yields 0 CGEN
 
Sizeof yields 0 CGEN
The size of an object has evaluated to zero in a con-
+
:The size of an object has evaluated to zero in a context where this is illegal, e.g. incrementing a pointer to a zero length object.
text where this is illegal, e.g. incrementing a pointer
 
to a zero length object.
 
  
 
storage class illegal P1
 
storage class illegal P1
A storage class may not be specified here
+
:A storage class may not be specified here
  
 
struct/union member expected P1
 
struct/union member expected P1
A structure or union member is required after a '. or
+
:A structure or union member is required after a '. or '->'
'->'
 
  
 
struct/union redefined P1
 
struct/union redefined P1
This structure or union has been defined twice
+
:This structure or union has been defined twice
  
 
struct/union required P1
 
struct/union required P1
A structure or union identifier is required before a
+
:A structure or union identifier is required before a '.'
'.'
 
  
 
Switch on long! CGEN
 
Switch on long! CGEN
Switching on a long expression is not supported
+
:Switching on a long expression is not supported
  
 
symbol cannot be global LINK
 
symbol cannot be global LINK
Stack, filename or line number symbols cannot be global
+
:Stack, filename or line number symbols cannot be global
  
 
Syntax error in checksum list LINK
 
Syntax error in checksum list LINK
The checksum list provided is invalid
+
:The checksum list provided is invalid
  
 
token too long CPP
 
token too long CPP
Shorten token (e.g. identifier)
+
:Shorten token (e.g. identifier)
  
 
too few arguments P1
 
too few arguments P1
The protype for this function lists more arguments than
+
:The protype for this function lists more arguments than have been supplied
have been supplied
 
  
 
too many arguments P1
 
too many arguments P1
More arguments have been supplied than listed in the
+
:More arguments have been supplied than listed in the prototype for this function
prototype for this function
 
  
 
Too many cases in switch CGEN,P1
 
Too many cases in switch CGEN,P1
There are too many cases in this switch
+
:There are too many cases in this switch
  
 
too many -D options CPP
 
too many -D options CPP
Use fewer -D options
+
:Use fewer -D options
  
 
too many defines CPP
 
too many defines CPP
Reduce number of macro definitions
+
:Reduce number of macro definitions
  
 
Too many errors CGEN
 
Too many errors CGEN
CGEN has given up because there were too many errors.
+
:CGEN has given up because there were too many errors.
  
 
too many formals CPP
 
too many formals CPP
Reduce number of parameters to this macro definition
+
:Reduce number of parameters to this macro definition
  
 
Too many initializers CGEN
 
Too many initializers CGEN
There are too many initializers for this object
+
:There are too many initializers for this object
  
 
Too many psects LINK
 
Too many psects LINK
There are too many psects for the symbol table
+
:There are too many psects for the symbol table
  
 
Too many symbols LINK
 
Too many symbols LINK
There are too many symbols for the linker symbol table
+
:There are too many symbols for the linker symbol table
  
 
too many -U options CPP
 
too many -U options CPP
Use fewer -U options
+
:Use fewer -U options
  
 
too much defining CPP
 
too much defining CPP
Reduce number/size of macros
+
:Reduce number/size of macros
  
 
too much indirection P1
 
too much indirection P1
Too many '*'s in this declaration
+
:Too many '*'s in this declaration
  
 
too much pushback CPP
 
too much pushback CPP
Simplify macro usage
+
:Simplify macro usage
  
 
type conflict P1
 
type conflict P1
There is a conflict of types in this expression, e.g.
+
:There is a conflict of types in this expression, e.g. attempting to assign a structure to a simple type
attempting to assign a structure to a simple type
 
  
 
type specifier reqd. for proto arg P1
 
type specifier reqd. for proto arg P1
A prototype argument must have a basic type
+
:A prototype argument must have a basic type
  
 
undefined control CPP
 
undefined control CPP
Check use of #
+
:Check use of #
  
 
undefined enum tag P1
 
undefined enum tag P1
This enumerated type tag has not been defined
+
:This enumerated type tag has not been defined
  
 
undefined identifier P1
 
undefined identifier P1
This identifier has not been defined before use
+
:This identifier has not been defined before use
  
 
undefined struct/union P1
 
undefined struct/union P1
The structure or union used has not been defined
+
:The structure or union used has not been defined
  
 
undefined symbol LINK
 
undefined symbol LINK
A list of undefined symbols follows. If some of the
+
:A list of undefined symbols follows. If some of the symbols should be in a library which was linked, it may be caused by a library ordering problem. In this case rebuild the library with the correct ordering or specify the library more than once in the link command
symbols should be in a library which was linked, it may
 
be caused by a library ordering problem. In this case
 
rebuild the library with the correct ordering or
 
specify the library more than once in the link command
 
  
 
unexpected EOF P1
 
unexpected EOF P1
End of file was encountered in the middle of a C con-
+
:End of file was encountered in the middle of a C construct. This is commonly caused by omission of a closing '}' earlier in the program.
struct. This is commonly caused by omission of a clos-
 
ing '}' earlier in the program.
 
  
 
Unknown predicate CGEN
 
Unknown predicate CGEN
Internal error - contact HI-TECH
+
:Internal error - contact HI-TECH
  
 
unknown psect LINK
 
unknown psect LINK
The psect specifed in a -p option is not present in the
+
:The psect specifed in a -p option is not present in the program. Check the spelling and check the case - upper case does not match lower case
program. Check the spelling and check the case - upper
 
case does not match lower case
 
  
 
unreachable code P1
 
unreachable code P1
This section of code can never be executed as there is
+
:This section of code can never be executed as there is no possible path to reach it
no possible path to reach it
 
  
 
Unreasonable include nesting CPP
 
Unreasonable include nesting CPP
Reduce number of include files
+
:Reduce number of include files
  
 
Unreasonable matching depth CGEN
 
Unreasonable matching depth CGEN
Internal error - contact HI-TECH
+
:Internal error - contact HI-TECH
  
 
unterminated macro call CPP
 
unterminated macro call CPP
Probably missing )
+
:Probably missing )
  
 
void function cannot return value P1
 
void function cannot return value P1
A function declared void cannot return a value
+
:A function declared void cannot return a value
  
 
Write error (out of disk space?) LINK
 
Write error (out of disk space?) LINK
Probably means the disk is full
+
:Probably means the disk is full

Revision as of 10:55, 28 July 2017

App1

Error Messages produced by the compiler are listed below. Each message is followed by the name of the program which produces it, and some further description of what causes the message or what to do about it.


'.' expected after '..' P1

The ellipsis symbol must have three dots

actuals too long CPP

Reduce length of macro arguments

argument list conflicts with prototype P1

The argument list in a function definition must agree with a prototype if one exists

argument redeclared P1

This argument has been declared twice

arithmetic overflow in constant expression CGEN

Evaluation of this constant expression produced an arithmetic overflow. This may or may not represent a true error.

array index out of bounds P1

An array index expression evaluates to a constant which is less than zero or greater than or equal to the dimension of the array

Assertion CGEN

Internal error - contact HI-TECH

attempt to modify const object P1

An attempt has been made to assign to or otherwise modify an object designated as 'const'

bad bitfield type P1

Bitfields must be of type 'int'

Bad conval CGEN

Internal error - contact HI-TECH

Bad dimensions CGEN

An array has bad dimensions - probably zero

Bad element count expr CGEN

Internal error - contact HI-TECH

bad formal CPP

Check macro defintion syntax

bad include syntax CPP

Use only "" and <> for include files

Bad int. code CGEN

The intermediate code file has been corrupted - can be caused by running out of disk space

Bad -M option CGEN

A -M option passed to the code generator is unknown

Bad mod '+' for how = c CGEN

Internal error - contact HI-TECH

bad object code format LINK

This file is either corrupted or not a valid object file

Bad op d to swaplog CGEN

Internal error - contact HI-TECH

Bad op n to revlog CGEN

Internal error - contact HI-TECH

bad origin format in spec LINK

An address in a -p option is invalid

bad '-p' format LINK

The -p option provided is invalid

Bad pragma c CGEN

The code generator has been passed a pragma it does not know about

Bad putwsize CGEN

Internal error - contact HI-TECH

bad storage class P1, CGEN

The speficied storage class is illegal

Bad U usage CGEN

Internal error - contact HI-TECH

Bit field too large (n bits) CGEN

A bit field may not be larger than an int

Cannot get memory LINK

The linker has run out of dynamic memory

Can't be both far and near P1

The 'far' and 'near' keywords cannot appear in the same type specifier

can't be long P1

Chars and shorts cannot be long

can't be register P1

An extern or static variable may not be register

can't be short P1

Float and char cannot be short

can't be unsigned P1

Float cannot be unsigned

can't call an interrupt function P1

A function qualified 'interrupt' can only be called by hardware, not by an ordinary function call

Can't create filename CGEN

The file specified could not be created

Can't create xref file P1

The cross reference file specified could not be created

Can't create CPP

Output file could not be created

Can't create LINK

The linker cannot create a file

Can't find include file CPP

Check and correct the include file name - spaces are not allowed in file names

Can't find register for bits CGEN

Internal error - contact HI-TECH

Can't generate code for this expression CGEN

The code generator is unable to generate code for this expression - simplifying the expression (e.g. computing values into temporary variables) will usually correct

it, otherwise contact HI-TECH

can't have array of functions P1

You cannot have an array of functions - you can have an array of pointers to functions

Can't have 'port' variable CGEN

You cannot declare a variable to be qualified 'port' - you can only use port to qualify pointers or typecast constant values

can't have storage class P1

A storage class may not appear in a prototype argument

can't initialise auto aggregates P1

You cannot initialise a structure or array inside a function unless it is static

can't initialize arg P1

An argument cannot have an initializer

can't mix proto and non-proto args P1

You cannot mix prototype and non-prototype arguments even in a function definitional

Can't open filename CGEN

The file specified could not be opened for reading

Can't open LINK

The linker cannot open a file

Can't seek LINK

The linker could not seek in file

can't take address of register variable P1

You can't take the address of a variable in a register

can't take sizeof func CGEN

You can't take the size of a function. You can take the size of a function call

can't take this address P1

The expression does not have an address

'case' not in switch P1

A 'case' label is permitted only inside a switch

char const too long P1

A character constant may have only one character in it

close error (disk space?) P1

Probably out of disk space

common symbol psect conflict LINK

A common symbol is defined to be in more than one psect

constant conditional branch CGEN

You have a program structure testing a constant expression, e.g. while(1). You should substitute for this the

more efficient for(;;)

constant expression required P1

A constant expression is required in e.g. an array dimension

constant operand to || or && CGEN

A logical operator has a constant operand which has been optimized out

declarator too complex P1

This declaration is too complex for the compiler to handle

default case redefined P1

Only one default case is permitted in a switch

'default' not in switch P1

A 'default' label is permitted only inside a switch

digit out of range P1

An octal constant may not contain 7 or 8, and a decimal constant may not contain A-F

dimension required P1

A dimension is required for all except the most significant in an array declaration

Division by zero CGEN

Attempt to divide by zero in this expression

Duplicate case label n CGEN

There are two case labels in this switch that have the same value

Duplicate -d flag LINK

Only one -d flag is allowed to the linker

duplicate label P1

This label is defined twice

Duplicate -m flag LINK

Only one -m flag is allowed to the linker

duplicate qualifier P1

The same qualifier appears more than once in this type specifier

entry point multiply defined LINK

A program can only have one entry point (start address)

EOF in #asm P1

End of file was encounterd after #asm and before a #endasm was seen

Error closing output file CGEN,CPP

Probably means you have run out of disk space

excessive -I file ignored CPP

Use fewer -I options

expand - bad how CGEN

Internal error - contact HI-TECH

expand - bad which CGEN

Internal error - contact HI-TECH

exponent expected P1

An exponent is expected after the 'e' or 'E' in a floating point constant. The exponent must contain only

+, - and digits 0-9

Expression error CGEN

Internal error - contact HI-TECH

expression generates no code CGEN

This expression has no side effects and thus generates no code. It has been optimized out

expression syntax P1

The expression is badly formed

expression too complex P1

The expression has too many nested parantheses or other

nested constructs

Fixup overflow referencing LINK

The linker has relocated a reference to a psect or symbol and the relocated address is too big to fit into

the space, e.g. a relocated one byte address exceeds 256 or a relocated 16 bit address exceeds 65536

float param coerced to double P1

This float parameter has been converted to double - a prototype will override this coercion

function() declared implicit int P1

This function has been called without an explicit declaration. It is wise to explicitly declare all func-

tions, preferably with a prototype. This will avoid many potential errors where your program comprises more than one source file

function does not take arguments P1

The prototype for this function indicates it takes no arguments

function or function pointer required P1

A function identifier or pointer to function is required for a function call.

functions can't return arrays P1

A function cannot return an array - it can return a pointer

functions can't return functions P1

A function cannot return a function - it can return a pointer to function

hex digit expected P1

A hex digit is expected after '0x'

identifier is a structure tag P1

A structure tag has been used in a context where another kind of tag is expected, e.g. saying struct fred where fred has previously been declared as union fred.

identifier is a union tag P1

Similar to the above error

identifier is an enum tag P1

Similar to the above error

identifier: large offset CGEN

Z80 only: This identifier has a large offset from the stack frame and thus access to it is inefficient. In a function any arrays should be declared after any simple variables

identifier redeclared P1

The identifier has been redeclared with different attributes

identifier redefined P1

An identifier has been defined twice

If-less else CPP

Check #if usage

If-less endif CPP

Check #if usage

illegal '#' directive P1

A # directive passed through to the first pass is unknown. If this occurs with a #include it may be caused

by a previous include file not having a <CR><LF> or newline on the last line.

Illegal character in preprocessor if CPP

Check for strange character

illegal character P1

A character unknown to the compiler has been encountered. The value given is the octal value of the character

illegal conversion between pointer types P1

The expression causes one pointer type to be converted to another incompatible type

illegal conversion of integer to pointer P1

An integer is used where a pointer is expected

illegal conversion of pointer to integer P1

A pointer is used where an integer is expected

illegal conversion P1

The type conversion here is illegal

Illegal flag LINK

This option is illegal

illegal function qualifier(s) P1

A function cannot have 'const' qualification

illegal initialisation P1

The initialisation of this variable is illegal

Illegal number CPP

Check number syntax

illegal type for array dimension P1

An array dimension must be an integral quantity

illegal type for index expression P1

An array index must be a simple integral expression

illegal type for switch expression P1

The expression in a 'switch' must be integral

illegal use of void expression P1

Void expressions may not be used in any way

implicit conversion of float to integer P1

A floating point value has been converted to integer - truncation may occur

implicit return at end of non-void function P1

A function with a non-void type has returned without a return statement

implict signed to unsigned conversion P1

Unwanted sign extension may occur here. Add an explicit typecast to force exactly the conversion you want

inappropriate break/continue P1

inappropriate 'else' P1

An 'else' has appeared without a matching 'if'

inconsistent storage class P1

Only one storage class may be specified in a declaration

inconsistent type P1

Only one basic type may be specified in a declaration

initialisation illegal in arg list P1

You cannot initialise a function parameter

initialisation syntax P1

The syntax of this initialisation is illegal

initializer in 'extern' declaration P1

A declaration with the 'extern' keyword has an initializer; this is not permitted as the extern declaration

reserves no storage

integer constant expected P1

An integer constant was expected here

integer expression required P1

An integral expression is required here

integral type required P1

An integral type is required here

large offset CGEN

Z80 only: This identifier has a large offset from the stack frame and thus access to it is inefficient. In a function any arrays should be declared after any simple variables

Line too long P1 The source line is too long, or does not have a <CR><LF> or newline at the end

local psect conflicts with global psect of same name LINK

A local psect cannot have the same name as a global psect

logical type required P1

A logical type (i.e. an integral type) is required as the subject of a conditional expression

lvalue required P1

An lvalue, i.e. something which can be assigned to, is required after an '&' or on the left hand of an assignment

macro recursion CPP

A preprocessor macro has attempted to expand itself. This would create infinite recursion

member is not a member of the struct/union P1

This member is not in the structure or union with which it is used

members cannot be functions P1

A member cannot be a function - it can be a pointer to function

Missing arg to -u LINK

-u requires an argument

Missing arg to -w LINK

-w requires an argument

missing ) CPP

Put correct ) in expression

Missing number after % in -p option LINK

After % in a -p option there must be a number

Missing number after pragma 'pack' P1

The correct syntax is #pragma pack(n) where n is 1, 2 or 4.

module has code below file base LINK

A -C option was specified but the program has code below the address specified as the base of the binary

file

multiply defined symbol LINK

A symbol is defined more than once

name is a union, struct or enum P1

A union, struct or enum tag has been re-used in a different context

No case labels CGEN

This switch has no case labels

no identifier in declaration P1

This declaration should have an identifier in it

No room CGEN

The code generator has run out of dynamic memory. You will need to reduce the number of symbols and/or the complexity of expressions

No source file CPP

Source file could not be found - check spelling, directory paths etc.

no space CPP

Reduce number/size of macro definitions

no start record: entry point defaults to zero LINK

No start address has been specified for the program; the linker has set the start address to 0

Non-constant case label CGEN

This case label does not evaluate to an integral constant

non-void function returns no value P1

A function which should return a value has a 'return' statement with no value

not a variable identifier P1

The identifier is not a variable - it may be e.g. a label or structure tag

not an argument P1

This identifier is not in the argument list for this function

only functions may be qualified interrupt P1

The type qualifier 'interrupt' may be applied only to functions, not variables.

only functions may be void P1

Only functions, not variables, may be declared void

only lvalues may be assigned to or modified P1

You have attempted to modify an expression which does not identify a storage location

only register storage class allowed P1

A parameter may only be auto or register

operands of operator not same pointer type P1

The operands to the named operator in the expression are both pointers but are not the same pointer type

operands of operator not same type P1

The operands to the named operator in the expression are incompatible types

pointer required P1

A pointer is required after a '*' (indirection) operator

popreg - bad reg CGEN

Internal error - contact HI-TECH

portion of expression has no effect CGEN

A portion of this expression has no effect on its value and no side effects

probable missing '}' in previous block P1

A declaration has been encountered where an expression was expected. The likely cause of this is that you have omitted a closing '}' in the function above this point.

psect cannot be in classes a and b LINK

A psect can only be in one class

psect exceeds max size LINK

This psect is larger than a specified maximum size

psect is absolute LINK

This psect is absolute and cannot have a link address specified in a -p option

Psect not loaded on 0xhexnum boundary LINK

This psect must be loaded on a specific boundary

Psect not relocated on 0xhexnum boundary LINK

This psect must be linked on a specific boundary

psect origin multiply defined LINK

This psect has its link address defined more than once

pushreg - bad reg CGEN

Internal error - contact HI-TECH

redundant & applied to array P1

An array type has an '&' operator applied to it. It has been ignored since use of an array implicitly gives its address

regused - bad arg to G CGEN

Internal error - contact HI-TECH

signatures do not matchLINK

An extern function has been declared with an incorrect prototype. For example if an argument is declared as a long in an extern declaration, but is really an int, a signature mismatch will occur.

signed bitfields not supported P1

Only unsigned bitfields are supported

simple type required P1

An array or structure type cannot be used here

Sizeof yields 0 CGEN

The size of an object has evaluated to zero in a context where this is illegal, e.g. incrementing a pointer to a zero length object.

storage class illegal P1

A storage class may not be specified here

struct/union member expected P1

A structure or union member is required after a '. or '->'

struct/union redefined P1

This structure or union has been defined twice

struct/union required P1

A structure or union identifier is required before a '.'

Switch on long! CGEN

Switching on a long expression is not supported

symbol cannot be global LINK

Stack, filename or line number symbols cannot be global

Syntax error in checksum list LINK

The checksum list provided is invalid

token too long CPP

Shorten token (e.g. identifier)

too few arguments P1

The protype for this function lists more arguments than have been supplied

too many arguments P1

More arguments have been supplied than listed in the prototype for this function

Too many cases in switch CGEN,P1

There are too many cases in this switch

too many -D options CPP

Use fewer -D options

too many defines CPP

Reduce number of macro definitions

Too many errors CGEN

CGEN has given up because there were too many errors.

too many formals CPP

Reduce number of parameters to this macro definition

Too many initializers CGEN

There are too many initializers for this object

Too many psects LINK

There are too many psects for the symbol table

Too many symbols LINK

There are too many symbols for the linker symbol table

too many -U options CPP

Use fewer -U options

too much defining CPP

Reduce number/size of macros

too much indirection P1

Too many '*'s in this declaration

too much pushback CPP

Simplify macro usage

type conflict P1

There is a conflict of types in this expression, e.g. attempting to assign a structure to a simple type

type specifier reqd. for proto arg P1

A prototype argument must have a basic type

undefined control CPP

Check use of #

undefined enum tag P1

This enumerated type tag has not been defined

undefined identifier P1

This identifier has not been defined before use

undefined struct/union P1

The structure or union used has not been defined

undefined symbol LINK

A list of undefined symbols follows. If some of the symbols should be in a library which was linked, it may be caused by a library ordering problem. In this case rebuild the library with the correct ordering or specify the library more than once in the link command

unexpected EOF P1

End of file was encountered in the middle of a C construct. This is commonly caused by omission of a closing '}' earlier in the program.

Unknown predicate CGEN

Internal error - contact HI-TECH

unknown psect LINK

The psect specifed in a -p option is not present in the program. Check the spelling and check the case - upper case does not match lower case

unreachable code P1

This section of code can never be executed as there is no possible path to reach it

Unreasonable include nesting CPP

Reduce number of include files

Unreasonable matching depth CGEN

Internal error - contact HI-TECH

unterminated macro call CPP

Probably missing )

void function cannot return value P1

A function declared void cannot return a value

Write error (out of disk space?) LINK

Probably means the disk is full