Previous - Up - Next

2   Error Messages

The messages are listed in alphabetical order; the corresponding tags are shown within brackets, e.g., [ENBOOL].

array index out of bounds [EOOB]
The used indexed is outside the defined range.
array range must start at 0 [EZRANGE]
An array index range must start at zero.
array size is less than 1 [EASZR]
An array must have at least one element.
array size is not a constant integer [EASZVAR]
The size of an array must be a constant integer.
attribute type undefined [EATYPE]
Either the attr_type or the type parameter of the attribute must be specified.
assignment to constant [ECONST]
The lvalue that is assigned to is declared as a const and thus can't be assigned to.
bit range of field '...' outside register boundaries [EFBITS]
The bit range of a field can only use bits present in the register.
bit range of field '...' overlaps with field '...' [EBITRO]
The fields of a register must not overlap.
bitslice size of ... bits is not between 0 and 64 [EBSSIZE]
Bit slices cannot be larger than 64 bits.
break is not possible here [EBREAKU]
A break statement cannot be used in a foreach or select statement.
cannot assign to this expression [EASSIGN]
The target of the assignment is not an l-value, and thus cannot be assigned to.
cannot assign to inlined parameter [EASSINL]
The target of the assignment is a method parameter that has been given a constant or undefined value when inlining the method.
cannot define both allocate_type and local 'data' objects [EATTRDATA]
Specifying allocate_type and using 'data' declarations in the same attribute object is not allowed.
cannot find file to import [EIMPORT]
The file to imported could not be found. Use the -I option to specify additional directories to search for imported files.
cannot use a register with fields as a value [EREGVAL]
When a register has been specified with explicit fields, you have to use the get and set methods to access the register as a single value.
cannot use an array as a value [EARRAY]
A whole array cannot be used as a single value.
cannot use variable index in a constant list [EAVAR]
Indexing into constant lists can only be done with constant indexes.
continue is not possible here [ECONTU]
A continue statement cannot be used in a foreach or select statement.
device declarations are not allowed in imported files [EDEVIMP]
Source files that are used with import directives may not contain device declarations.
duplicate assignment to parameter [EDPARAM]
A parameter may only have a single assignment (apart from any default value).
duplicate bank function number [EDBFUNC]
The device contains two differently-named banks that use the same function number.
duplicate definition of method [EDMETH]
A method has more than one definition in the same scope.
duplicate definition of variable [EDVAR]
A local variable has more than one definition in the same code block.
duplicate method parameter name [EARGD]
All parameter names of a method must be distinct.
file is empty [EEMPTY]
The compilation failed becuse the input file was empty.
forced compilation error in source code [EERSTMT]
The source code contained a statement "error;", which forces a compilation error with the above message.
illegal 'after' call [EAFTER]
An illegal after (..) call .. was made. A method called this way may not take any parameters, and it may not be part of an array.
illegal bitslice operation [EBSLICE]
A bitslice operation was attempted on an expression that is not an integer.
illegal bitorder [EBITO]
The specified bit-order is not allowed.
illegal comparison; mismatching types [EILLCOMP]
The values being compared do not have matching types.
illegal function application of ... [EAPPLY]
The applied value is not a function.
illegal operand to unary '...' [EUNOP]
The operand has the wrong type for the given unary operator.
illegal operands to binary '...' [EBINOP]
One or both of the operands have the wrong type for the given binary operator.
illegal register size [EREGISZ]
The specified register size is not allowed. Possible values are 1-8.
illegal value for parameter [EPARAM]
The parameter is not bound to a legal value.
incompatible array declarations [EAINCOMP]
The array has been declared more than once, in an incompatible way.
incompatible method definitions [EMETH]
The default implementation is overridden by an implementation with different input/output parameters.
incompatible version (...) while compiling a ... device [EVERS]
A device declared to be written in one DML language version tried to import a file writen in an incompatible language version.
invalid expression [EINVALID]
The expression does not produce a proper value.
invalid log type [ELTYPE]
Log-statement type must be one of "info", "error", "undefined", "spec_violation", "target_error", and "unimplemented".
log level must be an integer between 1 and 4 [ELLEV]
Log-statement level must be 1-4.
malformed format string [EFORMAT]
The log-statement format string is malformed.
missing device declaration [EDEVICE]
The main source file given to the DML compiler must contain a device declaration.
missing implementation of method [EMMETH]
The method has been declared, but is not given an implementation or a default implementation.
more than one output parameter not allowed in interface methods [EIMPRET]
Methods within an interface declaration may have only have zero or one output parameter.
name collision on '...' [ENAMECOLL]
The name is already in use in the same scope.
negative size (...) of bit range for '...' [EBITRN]
The size of the bit range must be positive. Note that the [msb:lsb] syntax requires that the most significant bit (msb) is written to the left of the colon, regardless of the actual bit numbering used.
no assignment to parameter [ENPARAM]
The parameter has been declared, but is not assigned a value or a default value.
no return type [ERETTYPE]
The type of the return value (if any) must be specified for methods that implement interfaces.
no type for {input,output} parameter [ENARGT]
Methods that are called must have data type declarations for all their parameters. (Methods that are only inlined do not need this.)
no value provided for auto-declared parameter '...' [EAUTOPARAM]
A parameter declared as predefined using the 'auto' keyword was not assigned a value at compile time, possibly due to a missing -D compiler option.
non-boolean condition [ENBOOL]
Conditions must be properly boolean expressions; e.g., "if (i == 0)" is allowed, but "if (i)" is not, if i is an integer.
non-constant element in list [ECLST]
Lists may only contain constants.
non-constant expression [ENCONST]
A constant expression was expected.
non-constant parameter, or circular parameter dependencies [EVARPARAM]
The value assigned to the parameter is not a well-defined constant.
not a list [ENLST]
A list was expected.
not a method [ENMETH]
A method name was excpected.
not a pointer [ENOPTR]
A pointer value was expected.
not a value [ENVAL]
Only some objects can be used as values directly. An attribute can only be accessed directly as a value if it has been declared using the allocate_type parameter.
nothing to break from [EBREAK]
A break statement can only be used inside a loop or switch construct.
nothing to continue [ECONT]
A continue statement can only be used inside a loop construct.
object is not allocated at run-time [ENALLOC]
An object which is not allocated at run-time cannot be referenced as a run-time value.
overlapping registers [EREGOL]
The registers are mapped to overlapping address ranges.
passing const reference for nonconst parameter '...' in function call [ECONSTP]
C function called with a pointer to a constant value for a parameter declared without const in the prototype.
recursive inline [ERECUR]
Methods may not be inlined recursively.
redefining auto parameter [EREAUTOPARAM]
Built-in parameters cannot be redefined by the user.
reference to unknown object [EREF]
The referenced object has not been declared.
right-hand side operand of '...' is zero [EDIVZ]
The right-hand side of the given / or % operator is always zero.
shift with negative shift count [ESHNEG]
The right-hand side operand to a shift operator must not be negative.
syntax error [ESYNTAX]
The code is malformed.
this object is not allowed here [ENALLOW]
Many object types have limitations on the contexts in which they may appear.
trying to get a member of a non-struct [ENOSTUCT]
The left-hand side operand of the . operator is not of struct type.
trying to index something that isn't an array [ENARRAY]
Indexing can only be applied to arrays, integers (bit-slicing), and lists.
uncaught exception [EBADFAIL]
An exception is thrown in a context where it will not be caught.
undefined array size [EASZUNDEF]
The size of an array must be defined somewhere in the program.
undefined index value [EIDX]
The index value is not well-defined.
undefined register size [EREGNSZ]
All registers must have a specified constant size.
undefined value [EUNDEF]
Caused by an attempt to generate code for an expression that contains the undefined value.
unknown identifier [EIDENT]
The identifier has not been declared anywhere.
unknown interface type [EIFTYPE]
The interface datatype is unknown.
unknown struct member [EMEMBER]
Attempt to access a nonexisting member of a struct.
unknown template [ENTMPL]
The template has not been defined.
unknown type [ETYPE]
The data type is not defined in the DML code.
wrong number of arguments for format string [EFMTARGN]
The log-statement has too few or too many arguments for the given format string.
wrong number of {input,output} arguments [EARG]
The number of input/output arguments given in the call differs from the method definition.
wrong type in assignment [EASTYPE]
The target of an assignment can't store the value given in the source, because they are of different types.
wrong type for argument n of format string ... [EFMTARGT]
Argument type mismatch in a log-statement format string.
wrong type for {input,output} parameter '...' when {calling,inlining} [EARGT]
The data type of the argument value given for the mentioned method parameter differs from the method definition.
wrong type for parameter '...' in function call [EPTYPE]
The data type of the argument value given for the mentioned C function parameter differs from the function prototype.

Previous - Up - Next