From 93f542eb7a0f2abb4cff51cd944a49433384eac3 Mon Sep 17 00:00:00 2001 From: Manoel Trapier Date: Thu, 21 Mar 2013 17:38:27 +0100 Subject: [PATCH] Add #warning to cemcom.ansi --- lang/cem/cemcom.ansi/domacro.c | 14 ++++++++++++++ lang/cem/cemcom.ansi/domacro.h | 1 + lang/cem/cemcom.ansi/init.c | 1 + lang/cem/cemcom.ansi/macro.str | 1 + 4 files changed, 17 insertions(+) diff --git a/lang/cem/cemcom.ansi/domacro.c b/lang/cem/cemcom.ansi/domacro.c index d98d3738d..f1fba60f3 100644 --- a/lang/cem/cemcom.ansi/domacro.c +++ b/lang/cem/cemcom.ansi/domacro.c @@ -136,6 +136,9 @@ void domacro() case K_ERROR: /* "error" */ do_error(); break; + case K_WARNING: /* "warning" */ + do_warning(); + break; case K_PRAGMA: /* "pragma" */ do_pragma(); break; @@ -522,6 +525,17 @@ void do_error() LineNumber++; } +void do_warning() +{ + int len; + char *get_text(); + char *bp = get_text((char **) 0, &len); + + lexwarning("user warning: %s", bp); + free(bp); + LineNumber++; +} + int getparams(char *buf[], char parbuf[]) { /* getparams() reads the formal parameter list of a macro diff --git a/lang/cem/cemcom.ansi/domacro.h b/lang/cem/cemcom.ansi/domacro.h index 4a4c3f44d..0b29ea52c 100644 --- a/lang/cem/cemcom.ansi/domacro.h +++ b/lang/cem/cemcom.ansi/domacro.h @@ -20,6 +20,7 @@ void do_if(void); void do_ifdef(int how); void do_undef(struct idf *argidf); void do_error(void); +void do_warning(void); int getparams(char *buf[], char parbuf[]); void macro_def(struct idf *id, char *text, int nformals, int length, int flags); int find_name(char *nm, char *index[]); diff --git a/lang/cem/cemcom.ansi/init.c b/lang/cem/cemcom.ansi/init.c index 878cd136e..a61b061f0 100644 --- a/lang/cem/cemcom.ansi/init.c +++ b/lang/cem/cemcom.ansi/init.c @@ -34,6 +34,7 @@ struct mkey { {"else", K_ELSE}, {"endif", K_ENDIF}, {"error", K_ERROR}, + {"warning", K_WARNING}, {"if", K_IF}, {"ifdef", K_IFDEF}, {"ifndef", K_IFNDEF}, diff --git a/lang/cem/cemcom.ansi/macro.str b/lang/cem/cemcom.ansi/macro.str index 1414741c4..3fb835a2f 100644 --- a/lang/cem/cemcom.ansi/macro.str +++ b/lang/cem/cemcom.ansi/macro.str @@ -48,5 +48,6 @@ struct macro { #define K_LINE 10 #define K_PRAGMA 11 #define K_UNDEF 12 +#define K_WARNING 13 #define K_FILE 100 /* for dependency generator */ #endif /* NOPP */ -- 2.34.1