User manual
MPLAB
®
XC8 C Compiler User’s Guide
DS52053B-page 380 2012 Microchip Technology Inc.
(116) end of file within preprocessor macro argument from line * (Preprocessor)
A macro argument has not been terminated. This probably means the closing paren-
thesis has been omitted from a macro invocation. The line number given is the line
where the macro argument started, for example:
#define FUNC(a, b) func(a+b)
FUNC(5, 6; /* oops -- where is the closing bracket? */
(117) misplaced constant in #if (Preprocessor)
A constant in a #if expression should only occur in syntactically correct places. This
error is most probably caused by omission of an operator, for example:
#if FOO BAR /* oops -- did you mean: #if FOO == BAR ? */
(118) stack overflow processing #if expression (Preprocessor)
The preprocessor filled up its expression evaluation stack in a #if expression. Simplify
the expression – it probably contains too many parenthesized subexpressions.
(119) invalid expression in #if line (Preprocessor)
This is an internal compiler error. Contact Microchip Technical Support with details.
(120) operator "*" in incorrect context (Preprocessor)
An operator has been encountered in a #if expression that is incorrectly placed (two
binary operators are not separated by a value), for example:
#if FOO * % BAR == 4 /* what is "* %" ? */
#define BIG
#endif
(121) expression stack overflow at operator "*" (Preprocessor)
Expressions in #if lines are evaluated using a stack with a size of 128. It is possible
for very complex expressions to overflow this. Simplify the expression.
(122) unbalanced parenthesis at operator "*" (Preprocessor)
The evaluation of a #if expression found mismatched parentheses. Check the expres-
sion for correct parenthesizing, for example:
#if ((A) + (B) /* oops -- a missing ), I think */
#define ADDED
#endif
(123) misplaced "?" or ":"; previous operator is "*" (Preprocessor)
A colon operator has been encountered in a #if expression that does not match up
with a corresponding ? operator, for example:
#if XXX : YYY /* did you mean: #if COND ? XXX : YYY */
(124) illegal character "*" in #if (Preprocessor)
There is a character in a #if expression that has no business being there. Valid char-
acters are the letters, digits and those comprising the acceptable operators, for
example:
#if YYY /* what are these characters doing here? */
int m;
#endif