Informix Error -21613: Syntax error at line line-number. Expect ifdef, ifndef, else or endif.
Cause and resolution
Syntax error at line line-number. Expect ifdef, ifndef, else or endif.
If this internal error recurs, note all circumstances and contact IBM Informix Technical Support.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-21613 fires when an mkmessage input file's preprocessor encounters a directive that
isn't ifdef, ifndef, else, or endif — per the official guidance.
- An unrecognized preprocessor directive keyword, per the official guidance — the direct, only cause.
Solutions / Resolution
- Correct the directive keyword at the reported line, per the official guidance's
implication, to one of
ifdef/ifndef/else/endif.
Examples
An unrecognized directive
^ifdfe SOME_MACRO
Corrected
^ifdef SOME_MACRO
Diagnostic Checks
- Check the reported line for a misspelled or unrecognized directive keyword, and correct it.
Related Errors / Related Topics
- -21611 — "Syntax error at line line-number. Expect ifdef, ifndef, else or endif
after '^'." The same class of preprocessor directive-keyword error, specifically
qualified to a
^marker followed by an unrecognized keyword.
An unrecognized preprocessor directive keyword was used — correct it to ifdef/ifndef/
else/endif.