diff options
Diffstat (limited to 'code/tools/lcc/cpp')
-rw-r--r-- | code/tools/lcc/cpp/cpp.c | 7 | ||||
-rw-r--r-- | code/tools/lcc/cpp/cpp.h | 2 | ||||
-rw-r--r-- | code/tools/lcc/cpp/nlist.c | 1 |
3 files changed, 8 insertions, 2 deletions
diff --git a/code/tools/lcc/cpp/cpp.c b/code/tools/lcc/cpp/cpp.c index 6739e4d..1fcffbc 100644 --- a/code/tools/lcc/cpp/cpp.c +++ b/code/tools/lcc/cpp/cpp.c @@ -204,9 +204,14 @@ control(Tokenrow *trp) error(WARNING, "Syntax error in #endif"); break; + case KWARNING: + trp->tp = tp+1; + error(WARNING, "#warning directive: %r", trp); + break; + case KERROR: trp->tp = tp+1; - error(WARNING, "#error directive: %r", trp); + error(ERROR, "#error directive: %r", trp); break; case KLINE: diff --git a/code/tools/lcc/cpp/cpp.h b/code/tools/lcc/cpp/cpp.h index ae855c9..87871d9 100644 --- a/code/tools/lcc/cpp/cpp.h +++ b/code/tools/lcc/cpp/cpp.h @@ -24,7 +24,7 @@ enum toktype { END, UNCLASS, NAME, NUMBER, STRING, CCON, NL, WS, DSHARP, DSHARP1, NAME1, DEFINED, UMINUS }; enum kwtype { KIF, KIFDEF, KIFNDEF, KELIF, KELSE, KENDIF, KINCLUDE, KDEFINE, - KUNDEF, KLINE, KERROR, KPRAGMA, KDEFINED, + KUNDEF, KLINE, KWARNING, KERROR, KPRAGMA, KDEFINED, KLINENO, KFILE, KDATE, KTIME, KSTDC, KEVAL }; #define ISDEFINED 01 /* has #defined value */ diff --git a/code/tools/lcc/cpp/nlist.c b/code/tools/lcc/cpp/nlist.c index d76df86..d3a8357 100644 --- a/code/tools/lcc/cpp/nlist.c +++ b/code/tools/lcc/cpp/nlist.c @@ -29,6 +29,7 @@ struct kwtab { {"define", KDEFINE, ISKW}, {"undef", KUNDEF, ISKW}, {"line", KLINE, ISKW}, + {"warning", KWARNING, ISKW}, {"error", KERROR, ISKW}, {"pragma", KPRAGMA, ISKW}, {"eval", KEVAL, ISKW}, |