Add #warning to cemcom.ansi

This commit is contained in:
Manoel Trapier 2013-03-21 17:38:27 +01:00 committed by Manoël Trapier
parent 2071a7dbb0
commit 93f542eb7a
4 changed files with 17 additions and 0 deletions

View File

@ -136,6 +136,9 @@ void domacro()
case K_ERROR: /* "error" */ case K_ERROR: /* "error" */
do_error(); do_error();
break; break;
case K_WARNING: /* "warning" */
do_warning();
break;
case K_PRAGMA: /* "pragma" */ case K_PRAGMA: /* "pragma" */
do_pragma(); do_pragma();
break; break;
@ -522,6 +525,17 @@ void do_error()
LineNumber++; 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[]) int getparams(char *buf[], char parbuf[])
{ {
/* getparams() reads the formal parameter list of a macro /* getparams() reads the formal parameter list of a macro

View File

@ -20,6 +20,7 @@ void do_if(void);
void do_ifdef(int how); void do_ifdef(int how);
void do_undef(struct idf *argidf); void do_undef(struct idf *argidf);
void do_error(void); void do_error(void);
void do_warning(void);
int getparams(char *buf[], char parbuf[]); int getparams(char *buf[], char parbuf[]);
void macro_def(struct idf *id, char *text, int nformals, int length, int flags); void macro_def(struct idf *id, char *text, int nformals, int length, int flags);
int find_name(char *nm, char *index[]); int find_name(char *nm, char *index[]);

View File

@ -34,6 +34,7 @@ struct mkey {
{"else", K_ELSE}, {"else", K_ELSE},
{"endif", K_ENDIF}, {"endif", K_ENDIF},
{"error", K_ERROR}, {"error", K_ERROR},
{"warning", K_WARNING},
{"if", K_IF}, {"if", K_IF},
{"ifdef", K_IFDEF}, {"ifdef", K_IFDEF},
{"ifndef", K_IFNDEF}, {"ifndef", K_IFNDEF},

View File

@ -48,5 +48,6 @@ struct macro {
#define K_LINE 10 #define K_LINE 10
#define K_PRAGMA 11 #define K_PRAGMA 11
#define K_UNDEF 12 #define K_UNDEF 12
#define K_WARNING 13
#define K_FILE 100 /* for dependency generator */ #define K_FILE 100 /* for dependency generator */
#endif /* NOPP */ #endif /* NOPP */