I think, that describe errors like the first one is quite useless, so
such errors won't be described.
Here comes fatal errors, these will always stop the compilation
FTL(002): Not enough memory
FTL(003): Required arguments missing
You probably used bad arguments with dc,
try dc ?, or see cli.
FTL(004): Unable to open source file
FTL(005): Unable to read file
Given MODULE or another file can't be read correctly.
FTL(006): Unable to open file
Given MODULE or another file not found in given directories.
FTL(007): Unknown error, contact author
FTL(008): Assembler error occured, please contact the author
These two errors appears only where does compiler wrong things, it is
usualy caused by incompletion of PowerD. Only advice I can give You is
to locate the cause and rewrite it in another way, or contact
FTL(009): Linker error occured, please contact the author
This error appear when You use external functions which aren't defined
in a MODULE, or You forgot to include this MODULE.
ERR(010): Syntax error
This error usualy appears, when You forgot a comma ',' or You added one
where it shouldn't be used. This error is signed as fatal, because it
usualy made wrong things.
ERR(082): CASE, DEFAULT or ENDSELECT expected
This appear if You forgot to add string containing assembler source
after '=' in RPROC definition.
ERR(083): Useless SELECT structure
ERR(084): STRING/PTR can be copyed only with ':='
ERR(085): Assembler source code string expected after '='
ERR(086): IF expected after RAISE value
ERR(087): Illegal type conversion
ERR(088): This operator can't be used with floats
ERR(089): This operator can't be used with constants
ERR(090): This operator can't be used in this case
ERR(091): Swapping different types
You use the swap operator (:=:) with different types like DOUBLE vs. LONG.
ERR(092): Only CONSTant possible
ERR(093): CONSTant required as argument
ERR(094): Variable declared 2 or more times
ERR(095): Procedure with that name is already defined
ERR(096): Macro is too large (max. is 16384)
Macros uses in PowerD predefined buffer, which limits macro size to
16kB, try to short down given macro, or use more shorter macros.
ERR(097): STRING type must have a size
You defined a STRING variable without setting the size, which is required.
ERR(098): Unknown \x extension
ERR(099): Too deep pointer
ERR(100): Type expected
ERR(101): String address can be stored only in 32bit field
ERR(102): Raise() function not found
This error appear only if You call a function, which can raise an
exception via RAISE keyword and Raise() function not found. Raise()
function is located in powerd.lib. You probably used OPT NOSTD and
ERR(103): Too deep macro
This may occur when You use macro in macro in eighth or higher macro level.
Macros can contain other macros maximally into 8 levels.
ERR(104): Bad EXITIF/NEXTIF location
ERR(105): Non FPU converter
ERR(106): Illegal instruction format
ERR(107): Illegal instruction extension
ERR(108): Too many errors
ERR(109): Bad STEP value
ERR(110): Missing ''IN'' keyword, register as argument in function is required
When You compile a library, then all the library functions must have all it's arguments in
registers, and You probably forgot to define them.
ERR(111): Bad register used, try another
WRN(900): Unused variables in
WRN(901): Unused procedures
WRN(902): Unknown OBJECT
WRN(903): BYTE can hold value from interval of -128 and +127
WRN(904): UBYTE can hold value from interval of 0 and 255
WRN(905): WORD can hold value from interval of -32768 and +32767
WRN(906): UWORD can hold value from interval of 0 and 65535
WRN(907): More return values than in procedure definition
This warn appears when You return more return values then in procedure
definition like here:
This is only a warning, because if the undefined value is a long or
a pointer, no problems will appear, because those values will be taken
as longs!!! If You return this way floats or doubles, they will be
converted to long!!!
WRN(908): DTO keyword expected
WRN(909): TO keyword expected
WRN(910): Store to array
Storing a value to read only place. To explain:
The variable 'list' itself is just for reading, to store value to it, You must use it's items, because
the 'list' it the address of the first item of the 'xyz' object, it doesn't contain the address!!! And
as 'list' isn't just a pointer, it is simply read only. Contents of the 'list' variable itself can't be
changed in any way. To change it, use a pointer instead of array like:
This allocates a true variable, that can contain whatever You wish.
WRN(911): Label out of local procedure
This appears just to warn You, that You JUMP outside a procedure, what can be dangerous.