Lines Matching refs:pp

51 #define CACHE()		do{CACHEINX();CACHEOUTX();st=pp.state;if(!pp.hidden)spliced=0;}while(0)
52 #define CACHEIN() do{CACHEINX();st=pp.state;if(!pp.hidden)spliced=0;}while(0)
53 #define CACHEINX() do{ip=pp.in->nextchr;}while(0)
54 #define CACHEOUT() do{CACHEOUTX();st=pp.state;if(!pp.hidden)spliced=0;}while(0)
55 #define CACHEOUTX() do{tp=op=pp.outp;xp=pp.oute;if(sp)sp=op;}while(0)
58 #define LASTOUT() ((op>pp.outbuf)?*(op-1):pp.lastout)
62 #define SYNC() do{SYNCINX();SYNCOUTX();pp.state=st;}while(0)
63 #define SYNCIN() do{SYNCINX();pp.state=st;}while(0)
64 #define SYNCINX() do{pp.in->nextchr=ip;}while(0)
65 #define SYNCOUT() do{SYNCOUTX();pp.state=st;}while(0)
66 #define SYNCOUTX() do{if(sp)op=tp=sp;pp.outp=op;}while(0)
69 …ITE(PPBUFSIZ);if(pp.outbuf==pp.outb){pp.outbuf+=PPBUFSIZ;xp=pp.oute+=PPBUFSIZ;}else{pp.outbuf-=PPB…
70 …ITE(PPBUFSIZ);if(pp.outbuf==pp.outb){pp.outbuf+=PPBUFSIZ;xp=pp.oute+=PPBUFSIZ;}else{pp.outbuf-=PPB…
71 …ITE(PPBUFSIZ);if(pp.outbuf==pp.outb){pp.outbuf+=PPBUFSIZ;xp=pp.oute+=PPBUFSIZ;}else{pp.outbuf-=PPB…
74 if ((st & (ADD|HIDDEN)) && !(*pp.control & SKIP)) \
86 m = pp.addp - pp.addbuf; \
87 pp.addp = pp.addbuf; \
88 memcpy(op, pp.addbuf, m); \
92 if (pp.linesync) \
94 if ((st & SYNCLINE) || pp.hidden >= MAXHIDDEN) \
96 pp.hidden = 0; \
103 (*pp.linesync)(error_info.line, error_info.file); \
109 m = pp.hidden; \
110 pp.hidden = 0; \
118 pp.hidden = 0; \
151 #define DOSTRIP() ((st&STRIP)||pp.level==1&&(st&(COMPILE|JOINING))==COMPILE&&!(pp.option&PRESERVE))
153 #define st pp.state
154 #define tp pp.token
155 #define xp &pp.token[MAXTOKEN]
158 #define BACKOUT() (op=pp.token)
160 #define CACHEIN() (ip=pp.in->nextchr)
161 #define CACHEOUT() (op=pp.token)
168 #define SYNCIN() (pp.in->nextchr=ip)
169 #define SYNCOUT() (pp.toknxt=op)
211 pp.level++; in ppcpp()
233 …if (((state = ~state) != S_COMMENT || pp.comment || c == '/' && !INCOMMENT(rp)) && (n = ip - bp - … in ppcpp()
237 if (op == tp && (st & (ADD|HIDDEN)) && !(st & PASSTHROUGH) && !(pp.option & PRESERVE)) in ppcpp()
248 if ((pp.option & PRESERVE) && !(st & NEWLINE) && c != '\n') in ppcpp()
277 pp.in->flags |= IN_tokens; in ppcpp()
294 if (pp.comment) PUTCHR(c); in ppcpp()
305 else if (comwarn < 0 && !(pp.mode & HOSTED)) in ppcpp()
309 if (!comwarn && !(pp.mode & HOSTED)) in ppcpp()
335 if (!(pp.mode & HOSTED)) in ppcpp()
340 pp.in->flags |= IN_tokens; in ppcpp()
345 if (!pp.comment) PUTCHR(c); in ppcpp()
351 if (!(pp.mode & HOSTED)) in ppcpp()
365 if (!(pp.mode & HOSTED)) in ppcpp()
374 if (!pp.comment || sp) in ppcpp()
377 if (!(pp.state & COMPATIBILITY) || *bp == ' ' || *bp == '\t') in ppcpp()
385 else if (pp.in->type & IN_TOP) in ppcpp()
387 …if (pp.comment && !(st & (COLLECTING|DIRECTIVE|JOINING)) && !(*pp.control & SKIP) && (pp.in->type … in ppcpp()
391 pp.hidden = 0; in ppcpp()
397 …(*pp.comment)(c == '\n' ? "//" : "/*", tp + 2, c == '\n' ? "" : (st & HEADER) ? "*/\n" : "*/", com… in ppcpp()
404 pp.hidden += error_info.line - comstart; in ppcpp()
420 if (pp.level > 1 && !(st & (NOSPACE|SKIPCONTROL))) in ppcpp()
439 if (pp.pool.input) in ppcpp()
457 register struct ppinstk* cur = pp.in; in ppcpp()
458 register struct ppinstk* prv = pp.in->prev; in ppcpp()
485 while (pp.control-- != cur->control) in ppcpp()
486 error(2, "#%s on line %d has no #%s", dirname(IF), GETIFLINE(pp.control+1), dirname(ENDIF)); in ppcpp()
490 pp.hidden = 0; in ppcpp()
496 pp.mode |= HOSTED; in ppcpp()
497 pp.flags |= PP_hosted; in ppcpp()
501 pp.mode &= ~HOSTED; in ppcpp()
502 pp.flags &= ~PP_hosted; in ppcpp()
520 if (pp.linesync && (cur->type != IN_RESCAN || (cur->flags & IN_sync))) in ppcpp()
524 (*pp.linesync)(error_info.line, error_info.file); in ppcpp()
526 prv = pp.in; in ppcpp()
535 if (pp.test & TEST_count) in ppcpp()
539 sfprintf(sfstderr, "%7d: pplex calls\n", pp.counter.pplex); in ppcpp()
540 sfprintf(sfstderr, "%7d: terminal states\n", pp.counter.terminal); in ppcpp()
541 sfprintf(sfstderr, "%7d: emitted tokens\n", pp.counter.token); in ppcpp()
542 sfprintf(sfstderr, "%7d: input stream pushes\n", pp.counter.push); in ppcpp()
543 sfprintf(sfstderr, "%7d: macro candidates\n", pp.counter.candidate); in ppcpp()
544 sfprintf(sfstderr, "%7d: macro expansions\n", pp.counter.macro); in ppcpp()
545 sfprintf(sfstderr, "%7d: function macros\n", pp.counter.function); in ppcpp()
549 if (pp.test & TEST_hit) in ppcpp()
560 if (pp.test & (TEST_hashcount|TEST_hashdump)) in ppcpp()
564 hashdump(NiL, (pp.test & TEST_hashdump) ? HASH_BUCKET : 0); in ppcpp()
632 if ((pp.mode & (HOSTED|PEDANTIC)) == PEDANTIC && LASTCHR() != '\f' && LASTCHR() != CC_sub) in ppcpp()
642 if (pp.incref && !(pp.mode & INIT)) in ppcpp()
645 (*pp.incref)(error_info.file, cur->file, error_info.line - 1, PP_SYNC_POP); in ppcpp()
668 while (pp.control-- != cur->control) in ppcpp()
669 error(2, "#%s on line %d has no #%s", dirname(IF), GETIFLINE(pp.control+1), dirname(ENDIF)); in ppcpp()
673 if (pp.linesync) in ppcpp()
676 (*pp.linesync)(error_info.line, error_info.file); in ppcpp()
682 popframe(pp.macp); in ppcpp()
743 if (pp.in->flags & IN_prototype) PUTCHR(c); in ppcpp()
801 else if (pp.level > 1 || (pp.option & PRESERVE)) PUTCHR(c); in ppcpp()
804 if (pp.in->type != IN_BUFFER) in ppcpp()
806 if (!(pp.option & ALLPOSSIBLE)) in ppcpp()
886 …HEADER) || (pp.option & (HEADEREXPAND|HEADEREXPANDALL)) && pp.in->type != IN_FILE && pp.in->type !… in ppcpp()
923 if ((st & PASSTHROUGH) || (pp.option & PRESERVE)) in ppcpp()
930 m = (st & SKIPCONTROL) && (pp.mode & HOSTED) ? -1 : 1; in ppcpp()
931 if (c == '\n' && quot == '\'' && (pp.option & STRINGSPAN)) n = 0; in ppcpp()
942 if (!(pp.option & STRINGSPAN) || (st & (COMPATIBILITY|STRICT)) == STRICT) in ppcpp()
945 if (!(pp.option & STRINGSPAN)) in ppcpp()
950 else if (pp.option & STRINGSPLIT) in ppcpp()
966 if (!(st & DIRECTIVE) || !(pp.mode & (HOSTED|RELAX))) in ppcpp()
1007 if (c == '"' && !(st & (COLLECTING|NOTEXT|PASSTHROUGH|SKIPCONTROL)) && (pp.mode & CATLITERAL)) in ppcpp()
1009 …if (c == '"' && pp.level == 1 && !(st & (COLLECTING|JOINING|NOTEXT|SKIPCONTROL)) && (pp.mode & CAT… in ppcpp()
1015 pptoken = pp.token; in ppcpp()
1016 pp.token = pp.catbuf; in ppcpp()
1017 *pp.token++ = 0; in ppcpp()
1030 pp.level = 0; in ppcpp()
1041 *pp.catbuf = ' '; in ppcpp()
1057 STRCOPY(op, pp.token + 2 + (*pp.token == ' '), s); in ppcpp()
1070 STRCOPY(op, pp.token + 1 + (*pp.token == ' '), s); in ppcpp()
1074 *pp.token = 0; in ppcpp()
1081 pp.state |= HIDDEN|SYNCLINE; in ppcpp()
1082 pp.hidden += m; in ppcpp()
1085 if ((st & COMPATIBILITY) && c == '#' && *(pp.token - 1)) in ppcpp()
1087 *(pp.token + 3) = *(pp.token + 2); in ppcpp()
1088 *(pp.token + 2) = *(pp.token + 1); in ppcpp()
1089 *(pp.token + 1) = *pp.token; in ppcpp()
1090 *pp.token = *(pp.token - 1); in ppcpp()
1093 *--pp.token = '\n'; in ppcpp()
1096 else if (*(pp.token - 1)) in ppcpp()
1097 pp.token--; in ppcpp()
1098 if (ppisidig(*pp.token)) in ppcpp()
1100 if (pp.in->type == IN_MACRO && (s = strchr(pp.token, MARK)) && !*(s + 1)) in ppcpp()
1105 PUSH_STRING(pp.token); in ppcpp()
1106 pp.state &= ~(JOINING|NEWLINE); in ppcpp()
1107 pp.state |= ppstate & ~(ADD|QUOTE); in ppcpp()
1114 pp.token = pptoken; in ppcpp()
1116 pp.level = 1; in ppcpp()
1124 …if (n && !(st & (PASSTHROUGH|SKIPCONTROL|NOTEXT)) && c == '\'' && (op - tp) <= 2 && !(pp.mode & (H… in ppcpp()
1126 if (pp.option & PRESERVE) in ppcpp()
1130 pp.in->flags |= IN_tokens; in ppcpp()
1138 if (n && !(st & NOTEXT) && (op - tp) <= (DOSTRIP() ? 0 : 2) && !(pp.mode & (HOSTED|RELAX))) in ppcpp()
1166 else if (pp.option & PRESERVE) PUTCHR(c); in ppcpp()
1231 if (pp.option & MODERN) in ppcpp()
1242 if (pp.option & MODERN) in ppcpp()
1319 pp.mode |= MARKMACRO; in ppcpp()
1321 pp.in->flags |= IN_tokens; in ppcpp()
1334 tp = op - ((pp.truncate && pp.truncate < (HITN - HIT0)) ? (pp.truncate - 1) : (HITN - HIT0)); in ppcpp()
1342 if (sym = ppsymref(pp.symtab, tp)) in ppcpp()
1369 else if ((sym->flags & SYM_MULTILINE) && pp.linesync) in ppcpp()
1374 (*pp.linesync)(error_info.line, error_info.file); in ppcpp()
1379 pp.in->flags |= IN_tokens; in ppcpp()
1385 pp.mode |= MARKMACRO; in ppcpp()
1388 if (pp.level == 1) in ppcpp()
1390 pp.in->flags |= IN_tokens; in ppcpp()
1399 if (pp.truncate && (op - tp) > pp.truncate) tp[pp.truncate] = 0; in ppcpp()
1400 sym = (pp.option & NOHASH) ? ppsymref(pp.symtab, tp) : ppsymset(pp.symtab, tp); in ppcpp()
1402 if (pp.symbol = sym) in ppcpp()
1404pp.truncate || (op - tp) <= pp.truncate || (tp[pp.truncate] = '_', tp[pp.truncate + 1] = 0, pp.sym… in ppcpp()
1409 #define ADVANCE() do{if(pp.toknxt<op)pp.token=pp.toknxt;}while(0) in ppcpp()
1415 if ((pp.option & NOISE) && ppisnoise(c)) in ppcpp()
1425 pp.toknxt = op; in ppcpp()
1427 if (!(pp.state & SPACEOUT)) in ppcpp()
1429 pp.state |= SPACEOUT; in ppcpp()
1432 ppcomment = pp.comment; in ppcpp()
1433 pp.comment = 0; in ppcpp()
1454 *--pp.toknxt = 0; in ppcpp()
1499 s = pp.toknxt; in ppcpp()
1500 while (s > pp.token) ungetchr(*--s); in ppcpp()
1501 *(pp.toknxt = s) = 0; in ppcpp()
1536 *(pp.toknxt = pp.token) = 0; in ppcpp()
1545 pp.comment = ppcomment; in ppcpp()
1547 pp.state &= ~SPACEOUT; in ppcpp()
1550 op = pp.toknxt; in ppcpp()
1553 if (pp.option & NOISEFILTER) in ppcpp()
1562 else if ((pp.option & NOISE) && c == T_ID && strneq(tp, "__builtin_", 10)) in ppcpp()
1564 hashlook(pp.symtab, tp, HASH_DELETE, NiL); in ppcpp()
1565 pp.symbol = sym = (struct ppsymbol*)ppkeyset(pp.symtab, tp); in ppcpp()
1575 if (pp.level == 1) in ppcpp()
1578 pp.in->flags |= IN_tokens; in ppcpp()
1583 if (sym = ppsymref(pp.symtab, tp)) in ppcpp()
1591 if ((sym->flags & SYM_MULTILINE) && pp.linesync) in ppcpp()
1594 (*pp.linesync)(error_info.line, error_info.file); in ppcpp()
1601 if (pp.level == 1) in ppcpp()
1610 if (pp.truncate && (op - tp) > pp.truncate) in ppcpp()
1612 tp[pp.truncate] = 0; in ppcpp()
1617 if (!(pp.option & NOHASH)) sym = ppsymset(pp.symtab, tp); in ppcpp()
1618 else if (!(sym = ppsymref(pp.symtab, tp))) goto fsm_symbol; in ppcpp()
1630 pp.in->flags |= IN_tokens; in ppcpp()
1631 if ((st & STRICT) && pp.in->type != IN_MACRO && pp.in->type != IN_MULTILINE) in ppcpp()
1633 if (!(pp.mode & HOSTED)) error(1, "non-standard reference to #(...)"); in ppcpp()
1671 if (!(st & NEWLINE) || !(pp.in->type & IN_TOP)) in ppcpp()
1675 pp.in->flags |= IN_tokens; in ppcpp()
1689 if (!(st & NEWLINE) || (st & DEFINITION) || !(pp.in->type & IN_TOP)) in ppcpp()
1698 else if (pp.level == 1 && !(st & (JOINING|SPACEOUT)) && !(pp.option & PRESERVE)) in ppcpp()
1705 pp.toknxt = oop = op; in ppcpp()
1706 pp.state |= SPACEOUT; in ppcpp()
1707 ppcomment = pp.comment; in ppcpp()
1708 pp.comment = 0; in ppcpp()
1725 pp.comment = ppcomment; in ppcpp()
1726 pp.state &= ~SPACEOUT; in ppcpp()
1731 if (pp.pragma && !(st & NOTEXT)) in ppcpp()
1735 (*pp.pragma)(NiL, NiL, NiL, tp, 1); in ppcpp()
1747 if (c == '#' && pp.in->type == IN_RESCAN) in ppcpp()
1754 s = pp.valbuf; in ppcpp()
1757 if (pp.pragma && !(st & NOTEXT)) in ppcpp()
1761 (*pp.pragma)(NiL, NiL, NiL, pp.valbuf, 1); in ppcpp()
1795 if (op == tp && !(st & JOINING) && pp.in->type == IN_FILE && !(pp.option & PRESERVE)) in ppcpp()
1798 pp.hidden++; in ppcpp()
1807 else if (!(pp.in->flags & IN_noguard)) in ppcpp()
1812 pp.in->flags |= IN_tokens; in ppcpp()
1819 if (*ip == '\n' && *(ip + 1) != '\n' && !pp.macref && !(st & (ADD|HIDDEN))) in ppcpp()
1825 if ((st & NOTEXT) && ((pp.mode & FILEDEPS) || (pp.option & (DEFINITIONS|PREDEFINITIONS)))) in ppcpp()
1829 debug((-5, "token[%d] %03o = %s [line=%d]", pp.level, c, pptokchr(c), error_info.line)); in ppcpp()
1841 if (pp.level == 1) in ppcpp()
1846 debug((-5, "token[%d] %03o = %s [line=%d]", pp.level, c, pptokchr(c), error_info.line)); in ppcpp()
1856 pp.hidden++; in ppcpp()
1888 if (!(pp.in->flags & IN_noguard)) in ppcpp()
1892 pp.in->flags |= IN_tokens; in ppcpp()
1907 if (pp.level == 1) in ppcpp()
1960 if (!(pp.option & PRESERVE)) in ppcpp()
1978 switch (pp.in->type) in ppcpp()
1985 …if ((st & JOINING) && (!INQUOTE(rp) || quot != '"') || pp.level > 1 && (rp == fsm[START] || INQUOT… in ppcpp()
1987 if (pp.level > 1 && (rp == fsm[START] || INQUOTE(rp))) in ppcpp()
2000 if (pp.macp->arg[c - ARGOFFSET][-1]) in ppcpp()
2001 PUSH_EXPAND(pp.macp->arg[c - ARGOFFSET], pp.macp->line); in ppcpp()
2003 PUSH_COPY(pp.macp->arg[c - ARGOFFSET], pp.macp->line); in ppcpp()
2011 …if (!*(s = pp.macp->arg[c]) && (pp.in->symbol->flags & SYM_VARIADIC) && pp.in->symbol->macro->arit… in ppcpp()
2019 PUSH_COPY(s, pp.macp->line); in ppcpp()
2037 PUSH_QUOTE(pp.macp->arg[c - ARGOFFSET], pp.macp->line); in ppcpp()
2046 PUSH_SQUOTE(pp.macp->arg[c - ARGOFFSET], pp.macp->line); in ppcpp()
2053 if (pp.in->type != IN_COPY) in ppcpp()
2055 if (pp.level <= 1) in ppcpp()
2060 if (pp.in->type == IN_EXPAND) in ppcpp()
2091 else if (pp.level > 1) in ppcpp()
2104 if (pp.in->type == IN_FILE) in ppcpp()
2112 … if ((st & WARN) && (st & (COMPATIBILITY|TRANSITION)) && !(pp.mode & HOSTED) && !INCOMMENT(rp)) in ppcpp()
2138 if (pp.in->type == IN_FILE && (pp.option & PLUSPLUS)) in ppcpp()
2158 if ((st & WARN) && (st & (COMPATIBILITY|TRANSITION)) && !(pp.mode & HOSTED) && !INCOMMENT(rp)) in ppcpp()
2179 if (pp.in->type == IN_FILE && (!(pp.option & PLUSSPLICE) || !INCOMMENTXX(rp))) in ppcpp()
2183 if ((pp.option & SPLICESPACE) && !INQUOTE(rp)) in ppcpp()
2200 if ((pp.option & STRINGSPLIT) && quot == '"') in ppcpp()
2206 else if (*pp.lineid) in ppcpp()
2214 pp.hidden++; in ppcpp()
2225 pp.hidden++; in ppcpp()
2229 c = (pp.option & SPLICECAT) ? '\t' : ' '; in ppcpp()
2241 pp.hidden++; in ppcpp()
2293 if (pp.in->type == IN_FILE) in ppcpp()
2310 if ((pp.option & ZEOF) && pp.in->type == IN_FILE) in ppcpp()
2312 pp.in->flags |= IN_eof; in ppcpp()
2338 if (pp.level == 1) in ppcpp()
2340 pp.in->flags |= IN_tokens; in ppcpp()
2360 debug((-5, "token[%d] %03o = %s", pp.level, c, pptokstr(tp, 0))); in ppcpp()
2362 pp.level--; in ppcpp()
2380 error(ERROR_OUTPUT|0, pp.pool.output, "%d", error_info.errors != 0); in poolstatus()
2394 if (!sfnew(sfstdin, NiL, SF_UNBOUND, pp.pool.input, SF_READ)) in pool()
2407 pp.pool.input = 0; in pool()
2428 pp.outfile = ofile; in pool()
2432 if (pp.mode & DUMP) in pool()
2434 if (!pp.pragma) in pool()
2436 (*pp.pragma)(dirname(PRAGMA), pp.pass, keyname(X_CHECKPOINT), pp.checkpoint, 1); in pool()