]> git.xonotic.org Git - xonotic/gmqcc.git/blobdiff - ftepp.c
ugh todo: seed per ht, not per hash
[xonotic/gmqcc.git] / ftepp.c
diff --git a/ftepp.c b/ftepp.c
index 6fff6e09be19b8db25064aea5fa88cb243d31c9e..fbe6f9670d0feb404f11deb00f64f555c95b0652 100644 (file)
--- a/ftepp.c
+++ b/ftepp.c
@@ -95,21 +95,13 @@ static void ftepp_error(ftepp_t *ftepp, const char *fmt, ...)
 
 static bool GMQCC_WARN ftepp_warn(ftepp_t *ftepp, int warntype, const char *fmt, ...)
 {
+    bool    r;
     va_list ap;
-    int lvl = LVL_WARNING;
-
-    if (!OPTS_WARN(warntype))
-        return false;
-
-    if (opts.werror) {
-           lvl = LVL_ERROR;
-        ftepp->errors++;
-    }
 
     va_start(ap, fmt);
-    con_cvprintmsg((void*)&ftepp->lex->tok.ctx, lvl, "error", fmt, ap);
+    r = vcompile_warning(ftepp->lex->tok.ctx, warntype, fmt, ap);
     va_end(ap);
-    return opts.werror;
+    return r;
 }
 
 static pptoken *pptoken_make(ftepp_t *ftepp)
@@ -1369,6 +1361,13 @@ bool ftepp_preprocess_string(const char *name, const char *str)
 
 void ftepp_add_macro(const char *name, const char *value) {
     char *create = NULL;
+
+    /* use saner path for empty macros */
+    if (!value) {
+        ftepp_add_define("__builtin__", name);
+        return;
+    }
+
     vec_upload(create, "#define ", 8);
     vec_upload(create, name,  strlen(name));
     vec_push  (create, ' ');