[next] [prev] [prev-tail] [tail] [up]

### C.5 Symbol handling

This section lists all the messages that concern the handling of symbols. This means all things that have to do with procedure and variable names.

Error: Identifier not found arg1
  The compiler doesn’t know this symbol. Usually happens when you misspel the name of a variable or procedure, or when you forgot to declare a variable.
Fatal: Internal Error in SymTableStack()
  An internal error occurred in the compiler; If you encounter such an error, please contact the developers and try to provide an exact description of the circumstances in which the error occurs.
Error: Duplicate identifier arg1
  The identifier was already declared in the current scope.
Hint: Identifier already defined in arg1 at line arg2
  The identifier was already declared in a previous scope.
Error: Unknown identifier arg1
  The identifier encountered hasn’t been declared, or is used outside the scope where it’s defined.
Error: Forward declaration not solved arg1
  This can happen in two cases:
  - This happens when you declare a function (in the interface part, or with a forward directive, but do not implement it.
  - You reference a type which isn’t declared in the current type block.
Fatal: Identifier type already defined as type
  You are trying to redefine a type.
Error: Error in type definition
  There is an error in your definition of a new array type:
  One of the range delimiters in an array declaration is erroneous. For example, Array [1..1.25] will trigger this error.
Error: Type identifier not defined
  The type identifier has not been defined yet.
Error: Forward type not resolved arg1
  A symbol was forward defined, but no declaration was encountered.
Error: Only static variables can be used in static methods or outside methods
  A static method of an object can only access static variables.
Error: Invalid call to tvarsym.mangledname()
  An internal error occurred in the compiler; If you encounter such an error, please contact the developers and try to provide an exact description of the circumstances in which the error occurs.
Fatal: record or class type expected
  The variable or expression isn’t of the type record or class.
Error: Instances of classes or objects with an abstract method are not allowed
  You are trying to generate an instance of a class which has an abstract method that wasn’t overridden.
Warning: Label not defined arg1
  A label was declared, but not defined.
Error: Label used but not defined arg1
  A label was declared and used, but not defined.
Error: Illegal label declaration
  This error should never happen; it occurs if a label is defined outside a procedure or function.
Error: GOTO and LABEL are not supported (use switch -Sg)
  You must compile a program which has labels and goto statements with the -Sg switch. By default, label and goto aren’t supported.
Error: Label not found
  A goto label was encountered, but the label isn’t declared.
Error: identifier isn’t a label
  The identifier specified after the goto isn’t of type label.
Error: label already defined
  You are defining a label twice. You can define a label only once.
Error: illegal type declaration of set elements
  The declaration of a set contains an invalid type definition.
Error: Forward class definition not resolved arg1
  You declared a class, but you didn’t implement it.
Hint: Unit arg1 not used in arg2
  The unit referenced in the uses clause is not used.
Hint: Parameter arg1 not used
  This is a warning. The identifier was declared (locally or globally) but wasn’t used (locally or globally).
Note: Local variable arg1 not used
  You have declared, but not used a variable in a procedure or function implementation.
Hint: Value parameter arg1 is assigned but never used
  This is a warning. The identifier was declared (locally or globally) set but not used (locally or globally).
Note: Local variable arg1 is assigned but never used
  The variable in a procedure or function implementation is declared, set but never used.
Hint: Local arg1 arg2 is not used
  A local symbol is never used.
Note: Private field arg1.arg2 is never used
Note: Private field arg1.arg2 is assigned but never used
Note: Private method arg1.arg2 never used
Error: Set type expected
  The variable or expression isn’t of type set. This happens in an in statement.
Warning: Function result does not seem to be set
  You can get this warning if the compiler thinks that a function return value is not set. This will not be displayed for assembler procedures, or procedures that contain assembler blocks.
Warning: Type arg1 is not aligned correctly in current record for C
  Arrays with sizes not multiples of 4 will be wrongly aligned for C structures.
Error: Unknown record field identifier arg1
  The field doesn’t exist in the record definition.
Warning: Local variable arg1 does not seem to be initialized
Warning: Variable arg1 does not seem to be initialized
  These messages are displayed if the compiler thinks that a variable will be used (i.e. appears in the right-hand-side of an expression) when it wasn’t initialized first (i.e. appeared in the left-hand side of an assigment)
Error: identifier idents no member arg1
  When using the extended syntax of new, you must specify the constructor method of the class you are trying to create. The procedure you specified does not exist.
Found declaration: arg1
  You get this when you use the -vb switch. In case an overloaded procedure is not found, then all candidate overloaded procedures are listed, with their parameter lists.
Error: Data segment too large (max. 2GB)
  You get this when you declare an array whose size exceeds the 2GB limit.

[next] [prev] [prev-tail] [front] [up]