-
Difference between revisions of "Error Messages"
(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 | + | :You have a program structure testing a constant expression, 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 | + | :A dimension is required for all except the most significant 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 | + | :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 | |
− | 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 | + | :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. | |
− | 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 | + | :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 | 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 | + | :Only one storage class may be specified in a declaration |
− | |||
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 | + | :A declaration with the 'extern' keyword has an initializer; 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 | ||
− | |||
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 | + | :A union, struct or enum tag has been re-used in a different 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, | + | :Source file could not be found - check spelling, directory 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 | + | :This case label does not evaluate to an integral constant |
− | |||
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) | + | :A pointer is required after a '*' (indirection) operator |
− | |||
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 | + | :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. |
− | |||
− | 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 | + | :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 | 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