mode = CompileDump;
} else if(strcmp(arg, "-v") == 0) {
verbose = 1;
+ } else if(strcmp(arg, "-w") == 0) {
+ inhibit_all_warnings = true;
} else if(arg[0] == '-' && arg[1] == 'f') {
const char *opt;
GET_ARG_AFTER(opt, "-f");
} else if (res == -1) {
help_displayed = true;
}
+ } else if(arg[0] == '-' && arg[1] == 'W') {
+ const char *opt;
+ GET_ARG_AFTER(opt, "-W");
+ if (strcmp(opt, "error") == 0) {
+ warnings_are_errors = true;
+ } else if (strcmp(opt, "fatal-errors") == 0) {
+ fatal_errors = true;
+ } else {
+ fprintf(stderr, "warning: ignoring gcc option -W%s\n", opt);
+ }
} else if(arg[0] == '-' && arg[1] == 'm') {
const char *opt;
GET_ARG_AFTER(opt, "-m");
} else if(strcmp(arg, "-pedantic") == 0) {
fprintf(stderr, "warning: ignoring gcc option '%s'\n", arg);
} else if(arg[1] == 'O' ||
- arg[1] == 'W' ||
arg[1] == 'g' ||
strncmp(arg + 1, "std=", 4) == 0) {
fprintf(stderr, "warning: ignoring gcc option '%s'\n", arg);
pclose(preprocessed_in);
if(unit == NULL) {
/* parsing failed because of errors */
- fprintf(stderr, "%u error(s), %u warnings\n", error_count, warning_count);
+ fprintf(stderr, "%u error(s), %u warning(s)\n", error_count, warning_count);
return EXIT_FAILURE;
}
if (warning_count > 0) {
- fprintf(stderr, "%u warnings\n", warning_count);
+ fprintf(stderr, "%u warning(s)\n", warning_count);
}
if(mode == PrintAst) {