BARfly Help - BAR Implementation File Reference - Compiler Errors

  Compiler Errors

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.


  See also:  [Deserialization: Critical steps] [Serialization: Critical steps] [Fundamental components]
[Common declarations] [File scope] [Structure scope] [Block scope]
[Node list scope] [Decision list scope] [Function scope] [Expressions]
[Compiler errors] [Compiler warnings]


BARfly Help Copyright © 2009 Christopher Allen