Diagnostics
Every diagnostic iecf reports has a code: E for an error, which stops a
build, W for a warning, which does not. iecf explain CODE prints the
code’s page; each is here too.
E0009 is not a fault in the program: it marks something the checker accepts and the C generator does not cover yet.
| Code | What |
|---|---|
| E0001 | a character that has no place in IEC 61131-3 text |
| E0002 | a comment that is never closed |
| E0003 | a string literal that is never closed |
| E0004 | a literal that is not well formed |
| E0005 | the text does not fit the grammar here |
| E0006 | a block whose END keyword never comes |
| E0007 | a $ escape that a string literal does not have |
| E0008 | Instruction List, removed from IEC 61131-3 in Ed.4 |
| E0009 | a part of IEC 61131-3 that iecf does not compile yet |
| E0010 | a name that nothing declares |
| E0011 | a type that nothing declares |
| E0012 | a name declared twice |
| E0013 | a value whose type does not convert implicitly |
| E0014 | operands an operator or index does not take |
| E0015 | an assignment to what cannot be assigned |
| E0016 | a call that does not fit what it calls |
| E0017 | a VAR_EXTERNAL that matches no VAR_GLOBAL |
| E0018 | a name the standard reserves for a type, function or block |
| E0019 | a condition that is not BOOL |
| E0020 | a literal outside its type’s range |
| E0021 | EXIT or CONTINUE outside a loop |
| E0022 | an address where the standard does not allow one |
| E0023 | a * address that VAR_CONFIG does not complete |
| E0024 | a VAR_CONFIG entry that does not fit the variable it names |
| E0025 | a VAR_CONFIG outside a CONFIGURATION |
| E0026 | REF() of what cannot be referenced |
| E0027 | a reference where it cannot be |
| E0028 | a name a namespace does not have, or does not let this code see |
| E0029 | a short name that two USINGs both bring in |
| W0001 | an octal literal, removed from IEC 61131-3 in Ed.4 |
| W0002 | a direct address in a body, deprecated since Ed.3 |
| W0003 | TRUNC without a type, deprecated since Ed.3 |
| W0004 | an address whose size prefix is not its variable’s size |
| W0005 | REF() of a variable at an input address |