]> git.xonotic.org Git - xonotic/gmqcc.git/blobdiff - gmqcc.h
-fbail-on-werror option
[xonotic/gmqcc.git] / gmqcc.h
diff --git a/gmqcc.h b/gmqcc.h
index 65161c225dfb2b64e8b2a1e6f2ce7b196176c5b9..9dc184657ccbb2a810dd7185bb0710d65a68ebe9 100644 (file)
--- a/gmqcc.h
+++ b/gmqcc.h
@@ -685,12 +685,14 @@ int  con_out   (const char *, ...);
 
 /* error/warning interface */
 extern size_t compile_errors;
+extern size_t compile_Werrors;
 extern size_t compile_warnings;
 
 void /********/ compile_error   (lex_ctx ctx, /*LVL_ERROR*/ const char *msg, ...);
 void /********/ vcompile_error  (lex_ctx ctx, /*LVL_ERROR*/ const char *msg, va_list ap);
 bool GMQCC_WARN compile_warning (lex_ctx ctx, int warntype, const char *fmt, ...);
 bool GMQCC_WARN vcompile_warning(lex_ctx ctx, int warntype, const char *fmt, va_list ap);
+void            compile_show_werrors();
 
 /*===================================================================*/
 /*========================= assembler.c =============================*/
@@ -917,18 +919,20 @@ void        ftepp_add_macro        (const char *name,   const char *value);
 /*======================= main.c commandline ========================*/
 /*===================================================================*/
 
-#if 0
+#if 1
 /* Helpers to allow for a whole lot of flags. Otherwise we'd limit
  * to 32 or 64 -f options...
  */
 typedef struct {
     size_t  idx; /* index into an array of 32 bit words */
-    uint8_t bit; /* index _into_ the 32 bit word, thus just uint8 */
+    uint8_t bit; /* bit index for the 8 bit group idx points to */
 } longbit;
 #define LONGBIT(bit) { ((bit)/32), ((bit)%32) }
+#define LONGBIT_SET(B, I) ((B).idx = (I)/32, (B).bit = ((I)%32))
 #else
 typedef uint32_t longbit;
 #define LONGBIT(bit) (bit)
+#define LONGBIT_SET(B, I) ((B) = (I))
 #endif
 
 /*===================================================================*/
@@ -1019,6 +1023,7 @@ typedef enum {
 typedef struct {
     uint32_t    O;              /* -Ox           */
     const char *output;         /* -o file       */
+    bool        quiet;          /* -q --quiet    */
     bool        g;              /* -g            */
     opts_std_t  standard;       /* -std=         */
     bool        debug;          /* -debug        */