Informix Error -21611: Syntax error at line line-number. Expect ifdef, ifndef, else or endif after '^'.
Cause and resolution
Syntax error at line line-number. Expect ifdef, ifndef, else or endif after '^'.
If this internal error recurs, note all circumstances and contact IBM Informix Technical Support.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-21611 fires when an mkmessage input file has a ^ preprocessor marker not followed by
one of the recognized directive keywords — per the official guidance.
- A
^marker followed by something other thanifdef,ifndef,else, orendif, per the official guidance — the direct, only cause.
Solutions / Resolution
- Correct the directive keyword following
^at the reported line, per the official guidance's implication, to one ofifdef/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
following
^, and correct it.
Related Errors / Related Topics
- -21613 — "Syntax error at line line-number. Expect ifdef, ifndef, else or endif."
The same class of preprocessor directive-keyword error, worded without the
after '^'qualifier.
A ^ preprocessor marker wasn't followed by a recognized directive keyword — correct it
to ifdef/ifndef/else/endif.