]> andersk Git - moira.git/blame - util/makedepend/cppsetup.c
build with debugging, not optimization, by default so we can do
[moira.git] / util / makedepend / cppsetup.c
CommitLineData
d1b2a10e 1/*
2 * $XConsortium: cppsetup.c,v 1.4 88/09/06 17:53:45 jim Exp $
3 */
4#include "def.h"
5
6#ifdef CPP
7/*
8 * This file is strictly for the sake of cpy.y and yylex.c (if
9 * you indeed have the source for cpp).
10 */
11#define IB 1
12#define SB 2
13#define NB 4
14#define CB 8
15#define QB 16
16#define WB 32
17#define SALT '#'
18#if pdp11 | vax | ns16000 | mc68000 | ibm032
19#define COFF 128
20#else
21#define COFF 0
22#endif
23/*
24 * These variables used by cpy.y and yylex.c
25 */
26extern char *outp, *inp, *newp, *pend;
27extern char *ptrtab;
28extern char fastab[];
29extern char slotab[];
30
31/*
32 * cppsetup
33 */
34struct filepointer *currentfile;
35struct inclist *currentinc;
36
37cppsetup(line, filep, inc)
38 register char *line;
39 register struct filepointer *filep;
40 register struct inclist *inc;
41{
42 register char *p, savec;
43 static boolean setupdone = FALSE;
44 boolean value;
45
46 if (!setupdone) {
47 cpp_varsetup();
48 setupdone = TRUE;
49 }
50
51 currentfile = filep;
52 currentinc = inc;
53 inp = newp = line;
54 for (p=newp; *p; p++)
55 ;
56
57 /*
58 * put a newline back on the end, and set up pend, etc.
59 */
60 *p++ = '\n';
61 savec = *p;
62 *p = '\0';
63 pend = p;
64
65 ptrtab = slotab+COFF;
66 *--inp = SALT;
67 outp=inp;
68 value = yyparse();
69 *p = savec;
70 return(value);
71}
72
73struct symtab *lookup(symbol)
74 char *symbol;
75{
76 static struct symtab undefined;
77 struct symtab *sp;
78
79 sp = defined(symbol, currentinc);
80 if (sp == NULL) {
81 sp = &undefined;
82 sp->s_value = NULL;
83 }
84 return (sp);
85}
86
87pperror(tag, x0,x1,x2,x3,x4)
88 int tag,x0,x1,x2,x3,x4;
89{
90 log("\"%s\", line %d: ", currentinc->i_file, currentfile->f_line);
91 log(x0,x1,x2,x3,x4);
92}
93
94
95yyerror(s)
96 register char *s;
97{
98 log_fatal("Fatal error: %s\n", s);
99}
100#endif CPP
This page took 0.252185 seconds and 5 git commands to generate.