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.