]> de.git.xonotic.org Git - xonotic/gmqcc.git/blobdiff - main.c
-Wassign-function-types - since in qcc you may assign functionpointers which take...
[xonotic/gmqcc.git] / main.c
diff --git a/main.c b/main.c
index 36b3349ea26e25d75cae2fe24ac50059f193373e..ac3b1f556e01ef848721531dc7fb21cfe28a7a70 100644 (file)
--- a/main.c
+++ b/main.c
@@ -69,14 +69,13 @@ static int usage() {
            "       -std=gmqcc        this compiler (default)\n");
     printf("  -W<warning>            enable a warning\n"
            "  -Wno-<warning>         disable a warning\n"
-           "  -Wall                  enable all warnings\n");
+           "  -Wall                  enable all warnings\n"
+           "  -Werror                treat warnings as errors\n");
     printf("  -force-crc=num         force a specific checksum into the header\n");
     printf("\n");
     printf("flags:\n"
-           "  -fdarkplaces-string-table-bug\n"
-           "            patch the string table to work with some bugged darkplaces versions\n"
-           "  -fomit-nullbytes\n"
-           "            omits certain null-bytes for a smaller output - requires a patched engine\n"
+           "  -fadjust-vector-fields\n"
+           "            when assigning a vector field, its _y and _z fields also get assigned\n"
            );
     return -1;
 }
@@ -253,6 +252,11 @@ static bool options_parse(int argc, char **argv) {
                         opts_werror = true;
                         break;
                     }
+                    else if (!strcmp(argv[0]+2, "NONE")) {
+                        for (itr = 0; itr < sizeof(opts_warn)/sizeof(opts_warn[0]); ++itr)
+                            opts_warn[itr] = 0;
+                        break;
+                    }
                     else if (!strcmp(argv[0]+2, "ALL")) {
                         for (itr = 0; itr < sizeof(opts_warn)/sizeof(opts_warn[0]); ++itr)
                             opts_warn[itr] = 0xFFFFFFFFL;
@@ -403,6 +407,8 @@ int main(int argc, char **argv) {
     options_set(opts_warn, WARN_FRAME_MACROS, true);
     options_set(opts_warn, WARN_UNUSED_VARIABLE, true);
     options_set(opts_warn, WARN_EFFECTLESS_STATEMENT, true);
+    options_set(opts_warn, WARN_END_SYS_FIELDS, true);
+    options_set(opts_warn, WARN_ASSIGN_FUNCTION_TYPES, true);
 
     if (!options_parse(argc, argv)) {
         return usage();
@@ -455,6 +461,7 @@ int main(int argc, char **argv) {
         }
 
         parser_finish(opts_output);
+
     } else {
         FILE *src;
         char *line;