| Error |
Occurs when... |
| FATAL: out of memory |
Compiler runs out of memory. Compilation stops immediately
when this error occurs. |
| FATAL: Unexpected end of file (failure to close control block?) |
A declaration is unterminated (usually opened curly braces that are not ever
closed). Compilation stops immediately when this error
occurs. |
| Unexpected ')' |
Stray close parenthesis, outside of a conditional expression, function call,
function parameter list, or function statement. |
| Unexpected ']' |
Stray close bracket, outside of an array element count definition or indexed
dereference. |
| Unexpected end of function body |
Function statements are not bounded by a closing curly brace. |
| Unexpected '#else' |
An #else directive was not paired with a preceding #ifdef or #ifndef directive. |
| Unexpected '#endif' |
An #endif directive was not paired with a preceding #ifdef, #ifndef, or
#else directive. |
| Unsupported keyword 'name' |
A reserved keyword is used (cannot be used in any context). |
| Undefined symbol 'name' |
A symbol is used without being defined. Generally, this stems from a typo
or failure to declare a variable. |
| Symbol 'name' already defined |
An attempt is made to re-use a symbol in a way that would cause a naming
conflict. |
| Type mismatch |
This is a catch-all error for all attempts at implicit type conversion that the
compiler is unable to perform. Scalar values are generally converted to
other scalar types automatically, but sometimes you might need to explicitly
cast one scalar type to another to prevent this error from occurring.
Pointer values will only automatically cast from non-void to void; you must
explicitly cast a pointer type to a non-void pointer type. Structure
types are used in very specific circumstances; check the operator reference to
see how operators work with structures. |
| Bad return type |
Type mismatch when returning a value for a function. |
| 'name' is not a member of the class |
Attempt to refer to a nonexistent member of a data structure or block. |
| Unknown preprocessor directive 'name' |
An unrecognized preprocessor directive, such as #notrecognized. |
| Macro 'name' already defined |
Multiple #define directives for the same macro name. |
| Keyword 'name' can only occur in the context of function body |
The keyword can only be used in a function statement. |
| Keyword 'name' can only occur in the context of member function body |
The keyword can only be used in a member function statement. |
| Keyword 'name' can only occur at file or block scope |
The keyword can only be used at file or block scope (list scope might have been
attempted) |
| Keyword 'name' can only occur at file scope |
The keyword can only be used file scope (e.g. enum) |
| Keyword 'name' can only occur at block scope |
The keyword can only be used at block scope (e.g. unittype) |
| Keyword 'name' not allowed in this context |
The keyword is not allowed at this point in compilation. Generally, this
stems from selecting a keyword where an identifier is expected. |
| Operator 'operator' not allowed in this context |
An operator is not allowed at this point in compilation. This is usually
a typo. |
| 'fileformatframework' already defined |
Declaring more than one top-level construct in a single I.F. |
| Illegal character |
An unrecognized character (e.g. at symbol) |
| Expected: superclass |
Attempt to derive a structure from a nonexistent superclass. Generally,
this stems from a typo. |
| Expected: identifier |
An identifier is expected. Generally, this stems from a typo. |
| Expected: enum name |
An enumerated constant name is expected. Generally, this stems from a
typo. |
| Expected: enum definition |
An enumerated const block definition is expected. Braces might not have
been opened properly. |
| Expected: attribute or definition |
Incorrect attributes in a declaration (e.g. nofragment used with struct) |
| Expected: class/structure name |
Invalid identifier for a class or structure name. Generally, this stems
from a typo. |
| Expected: class/structure definition |
A structure definition is expected. Braces might not have been opened
properly. |
| Expected: block name |
Invalid identifier for a block name. Generally, this stems from a typo. |
| Expected: block definition |
An block definition is expected. Braces might not have been opened
properly. |
| Expected: construct definition |
A construct definition is expected. Braces might not have been opened
properly. |
| Expected: list name |
Invalid identifier for a list name. Generally, this stems from a typo. |
| Expected: list definition |
A list definition is expected. Braces might not have been opened
properly. |
| Expected: header structure |
A header structure declaration is expected. Braces might not have been
opened properly. |
| Expected: declaration |
A declaration keyword was used, but no declaration is present. |
| Expected: function name |
Invalid identifier for a function name. Generally, this stems from a
typo. |
| Expected: function body |
A function body definition is expected. Braces might not have been opened
properly. |
| Expected: variable or function name |
Invalid identifier selected for a variable or function name. |
| Expected: type postfix or end-of-statement |
The end of a declaration is mangled somehow (brackets, comma, or bit field
sizing constant incorrectly declared). |
| Expected: comma or end-of-statement |
The end of a declaration is mangled somehow (not terminated with comma for
another identifier or failure to close declaration). |
| Expected: element count |
Invalid element count inside brackets (must be positive constant). |
| Expected: initializer |
Initializer has incorrect syntax, or initializer is missing where one is
required. |
| Expected: parameter list |
Parameter list of function is missing. |
| Expected: ')' |
No closure of conditional expression, function call, function parameter list,
or function statement. |
| Expected: '(' |
Failure to open a parenthetical expression where one is expected. |
| Expected: comma |
Failure to include a comma as a separator where one is expected. |
| Expected: '{' |
Failure to open a new scope where one is expected. |
| Expected: '}' |
No closure of scope where closure is expected. |
| Expected: '[' |
Failure to open an indexed dereference where one is expected. |
| Expected: ']' |
No closure of an array element count definition or indexed dereference. |
| Expected: '.' |
Failure to dereference a structure member properly. |
| Expected: '=' |
No equals character where one is expected syntactically. |
| Expected: '>' |
Failure to close an included filename in a preprocessor directive (default
directory). |
| Expected: '"' |
Failure to close an included filename in a preprocessor directive (local
directory). |
| Expected: '<' or '"' |
Failure to properly open an included filename in a preprocessor directive. |
| Expected: '*' |
Failure to specify a pointer qualifier where one is expected. |
| Expected: expression |
No function expression where one is expected. |
| Expected: ';' |
No semicolon punctuator where one is expected syntactically. |
| Expected: ':' |
No colon. Generally, failure to terminate a text label causes this error. |
| Expected: binary operator |
Only a binary operator is allowed between expressions; a unary operator might
have been used instead, or perhaps the operator is missing. |
| Expected: value |
There is no value; it might be missing from an expression. Multiple
binary operators in succession will cause this error. |
| Expected: constant |
A non-constant value is provided where a constant value is expected. |
| Expected: while |
Failure to close a "do" statement with a "while" clause and conditional
expression. |
| Expected: 'organized' or 'unorganized' |
No block type qualifier in block declaration. |
| Expected: body definition |
Organized block body not declared correctly. |
| Expected: unit type |
Unit type not specified in a non-text unorganized block definition. |
| Expected: comma or semicolon |
Failure to terminate a variable declaration properly. |
| Expected: zero or string literal |
Pointer initializer can only receive a null pointer or a pointer to a string. |
| Expected: case label |
A "case" statement encountered without a valid case label. |
| Expected: structure or block name |
A construct name is expected, but no valid name is provided. |
| Expected: pointer type |
Only a pointer type is allowed in the expression context. |
| Expected: scalar type |
Only a scalar type is allowed in the expression context. |
| Expected: structure type |
Only a structure type is allowed in the expression context. |
| Cannot mix type modifiers |
The combination of type modifiers (for example, "signed" and "unsigned" at the
same time) is invalid. |
| Cannot use type modifier on non-integral type |
Use of "signed" or "unsigned" on type "float" or "double." |
| Invalid combination of types and type modifiers |
Type modifiers were used in declarations that did not call for them. |
| Cannot reference a member of a built-in type |
Attempt to dereference a nonexistent structure member of a simple type, such as
char.value. |
| Cannot use function type in context of array declaration |
BAR does not support pointers to functions or other types of variable
declarations that utilize function-style typing. |
| Cannot use array type in context of function declaration |
BAR does not support array types in function declarations (only
pointer to single value is supported). |
| Cannot initialize this type |
Type does not allow for specified method of initialization. |
| Identifier must be alphanumeric |
An identifier is expected, but is not composed of alphanumeric/underscore
characters. |
| Not allowed in unorganized block |
Declaration is not permitted in unorganized block scope. |
| Element count must be an integer between 1 and 7FFFFFFFH |
An element count is nonpositive or too large. |
| String too long |
A string literal is more than the number of allowed characters, or it is not
delimited correctly. |
| Unterminated string |
No delimiter for a string literal was encountered. The same quotation
style must be used to open and close the string. |
| Not allowed in organized block |
Declaration is not permitted in organized block scope. |
| Invalid type for parameter list |
A type is not valid in the context of a parameter list variable declaration. |
| Syntax error |
A generic condition for an out-of-place token, such as an opening curly brace
with no qualification. |
| 'else' without 'if' |
An "else" statement appeared without an "if" statement preceding it. |
| L-value required |
A non-L-value appeared in an expression where one was expected. Need to
be able to "write" to the expression. |
| Not member function |
A member function call was expected, but not encountered. |
| Unable to read file |
Unable to open a file for reading (generally, a bad filename or disk read
error). |
| Unable to write file |
Unable to open a file for writing (generally, a bad filename, disk error, or
write protect error). |
| No 'fileformatframework' defined |
The I.F. has no top-level construct. |
| Header already defined |
An organized block has multiple header structure definitions. |
| Body already defined |
An organized block has multiple body definitions. |
| Invalid unit type in text block |
The unit type provided in a text block is not an integral simple type (char,
short, long, or longlong). |
| Invalid in node list |
Declaration is not permitted in node list scope. |
| Invalid in decision list |
Declaration is not permitted in decision list scope. |
| Invalid type for local variable |
A type is not valid in the context of a local variable declaration. |
| Variables not allowed in block context |
A variable declaration occurred inside a block definition. |
| Pointer type is invalid in bit field |
A bit field was declared with a pointer type. |
| Array type is invalid in bit field |
A bit field was declared with array dimensions. |
| Invalid bit size |
A bit field was declared with an invalid sizing constant (minimum 1, maximum
depends on size of type). |
| Block cannot have identicial block type as its body |
The block body is recursive (this is not allowed). |
| Variable cannot be of type 'void' without pointer |
A "void variable" was declared; only a pointer-to-void type is allowed. |
| Enumerated constant assignment needs simple type |
A derived-from-simple-type structure definition is the only type of structure
definition allowed to contain an enumerated constant block assignment; a
different type of structure was selected that does not allow such assignments. |
| No variable declarations allowed for a type derived from simple |
A variable declaration appeared in a derived-from-simple-type structure
definition; this is not allowed. |
| Structure has no variables |
A conventional structure definition must contain at least one variable. |
| Byte order in bit field structure inconsistent |
Some bit fields have big-endian byte order while others have little-endian byte
order. |
| Array element count exceeded |
More initializer entities were provided than what an array can accommodate. |
| Floating point type not a valid bit field |
Bit field structures can only store integral types; types "float" and "double"
are not permitted. |
| Cannot use 'nofragment' in 'name' |
Internal consistency check mandates that "nofragment" cannot be used in this
context. |
| Nested 'discardable' instances inside 'name' |
Internal consistency check mandates that one or more "discardable" instances
cannot be used in this context. |
| Pointers and functions cannot coexist as members inside 'name' |
Internal consistency check prevents structures containing pointers from having
member functions. |
| No pointers can exist in the formal hierarchy |
Internal consistency check prevents structures containing pointers from being
present in the construct hierarchy diagram. |
| Need at least one 'return' in function body |
A function returns a value, but no "return" statement was encountered. |
| Switch block has no case labels |
A switched control block requires at least one case label. |
| Case label limit exceeded |
A switched control block permits no more than 255 case labels. |
| Duplicate label |
More than one case label bears the same constant. |
| Label 'name' not found |
A "goto" statement specified a nonexistent label. |
| Cannot cast to 'void' type |
An expression incorrectly attempted to use the type "void" as a possible
typecast or value type. |
| Cannot cast to structure type |
An expression provides a structure type where a value or pointer type is
expected, or vice versa. |
| Expression too complex |
An expression has too many operator or register calculations. Break the
expression into smaller expressions. |
| Illegal access of array of pointers |
Arrays of pointers must be dereferenced when they are used--cannot get a
pointer to the entire array. |
| Cannot have pointer to a structure containing pointers |
Structures containing pointers must be dereferenced when they are used--cannot
get a pointer to the entire array. |
| Attempt to dereference non-pointer |
Dereference (indexed or singular) was attempted on a non-pointer. |
| Function takes a different number of arguments |
Function was called with an incorrect combination of arguments. |
| 'name' is not a valid data member of 'name' |
A nonexistent member variable was accessed. This is generally a typo. |
| 'name' is not a member function of 'name' |
A nonexistent member function was accessed. This is generally a typo. |
| Invalid assignment operator |
An assignment operator was used in a nonconforming fashion to the rules for the
operator. |
| List has no list members |
A list declaration has no list members (at least one is required). |
| Cannot use 'discardable' in conjunction with 'autoterminate' |
A node list cannot have both the "discardable" and "autoterminate" attributes. |
| Invalid escape sequence |
The escape sequence does not match a name or number of a valid opcode or mod
byte escape. |
| Incorrect critical-step function declaration |
A critical-step method has an incorrect return value or parameter list.
For example, long Validation(). |
| Bit scan blocks only contain bit scan blocks or bit field structures |
Internal consistency check mandates that bit scan blocks contain a limited
subset of constructs types in the construct hierarchy diagram. |
| Too many parameters |
A function has more than 255 parameters. |
| Need at least one character in short string |
A short string has no characters, giving it a size of zero bytes. Need at
least one byte in a short string. |
| Excessive conditional directive nesting |
Too many nested conditional compiling directives were encountered. |
| Void type cannot be cast to anything else |
A void expression cannot be cast to any other type of expression. |
| Cannot establish pointer to bit field member |
Bit field structure members can only be accessed directly; pointers to members
are not aligned on byte boundaries. |