Add #warning to cemcom.ansi
authorManoel Trapier <godzil@godzil.net>
Thu, 21 Mar 2013 16:38:27 +0000 (17:38 +0100)
committerManoël Trapier <godzil@MacBook-Pro.home>
Wed, 24 Jun 2015 22:41:49 +0000 (23:41 +0100)
lang/cem/cemcom.ansi/domacro.c
lang/cem/cemcom.ansi/domacro.h
lang/cem/cemcom.ansi/init.c
lang/cem/cemcom.ansi/macro.str

index d98d373..f1fba60 100644 (file)
@@ -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
index 4a4c3f4..0b29ea5 100644 (file)
@@ -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[]);
index 878cd13..a61b061 100644 (file)
@@ -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},
index 1414741..3fb835a 100644 (file)
@@ -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 */