Lines Matching refs:control
25 * preprocessor control directive support
336 if (pp.control <= pp.in->control)
341 if (pp.control == (pp.in->control + 1)) pp.in->flags |= IN_noguard;
342 if (*pp.control & HADELSE)
345 *pp.control |= SKIP;
348 if (*pp.control & KEPT)
350 *pp.control |= SKIP;
355 *pp.control &= ~SKIP;
361 *pp.control &= ~SKIP;
362 *pp.control |= KEPT;
364 else *pp.control |= SKIP;
376 if (pp.control <= pp.in->control) error(2, "no matching #%s for #%s", dirname(IF), dirname(ELSE));
379 if (pp.control == (pp.in->control + 1)) pp.in->flags |= IN_noguard;
380 if (!(*pp.control & KEPT))
382 *pp.control &= ~SKIP;
383 *pp.control |= HADELSE|KEPT;
387 if (*pp.control & HADELSE) error(2, "more than one #%s for #%s", dirname(ELSE), dirname(IF));
388 *pp.control |= HADELSE|SKIP;
395 if (pp.control <= pp.in->control) error(2, "no matching #%s for #%s", dirname(IF), dirname(ENDIF));
396 else if (--pp.control == pp.in->control && pp.in->symbol)
412 SETIFBLOCK(pp.control);
413 if (*pp.control & SKIP)
415 *pp.control |= KEPT;
423 if (directive == IFNDEF && pp.control == pp.in->control + 1)
441 *pp.control |= ((sym != 0) == (directive == IFDEF)) ? KEPT : SKIP;
444 if (*pp.control & SKIP)
547 if (!(*pp.control & SKIP))
577 if (directive != PRAGMA && (!(*pp.control & SKIP) || !(pp.mode & (HOSTED|RELAX))))
584 if (!(*pp.control & SKIP) && pp.pragma && !(pp.state & NOTEXT) && (directive == PRAGMA || !(pp.mode & INIT)))
625 if (*pp.control & SKIP) goto eatdirective;
2092 if (!(*pp.control & SKIP) && pp.pragma && !(pp.state & NOTEXT))
2235 if (!(*pp.control & SKIP))
2286 * grow the pp nesting control stack
2308 if (ip->control)
2309 ip->control += adjust;
2312 pp.control = np + oz;