Fix -ignore-warnings

This commit is contained in:
gingerBill
2024-06-06 13:02:08 +01:00
parent a667878d23
commit 155516b897
+7 -4
View File
@@ -407,12 +407,15 @@ gb_internal void warning_va(TokenPos const &pos, TokenPos end, char const *fmt,
error_va(pos, end, fmt, va); error_va(pos, end, fmt, va);
return; return;
} }
if (global_ignore_warnings()) {
return;
}
global_error_collector.warning_count.fetch_add(1); global_error_collector.warning_count.fetch_add(1);
mutex_lock(&global_error_collector.mutex); mutex_lock(&global_error_collector.mutex);
push_error_value(pos, ErrorValue_Warning); push_error_value(pos, ErrorValue_Warning);
if (!global_ignore_warnings()) {
if (pos.line == 0) { if (pos.line == 0) {
error_out_empty(); error_out_empty();
error_out_coloured("Warning: ", TerminalStyle_Normal, TerminalColour_Yellow); error_out_coloured("Warning: ", TerminalStyle_Normal, TerminalColour_Yellow);
@@ -430,7 +433,6 @@ gb_internal void warning_va(TokenPos const &pos, TokenPos end, char const *fmt,
error_out("\n"); error_out("\n");
show_error_on_line(pos, end); show_error_on_line(pos, end);
} }
}
try_pop_error_value(); try_pop_error_value();
mutex_unlock(&global_error_collector.mutex); mutex_unlock(&global_error_collector.mutex);
} }
@@ -544,13 +546,15 @@ gb_internal void syntax_warning_va(TokenPos const &pos, TokenPos end, char const
syntax_error_va(pos, end, fmt, va); syntax_error_va(pos, end, fmt, va);
return; return;
} }
if (global_ignore_warnings()) {
return;
}
mutex_lock(&global_error_collector.mutex); mutex_lock(&global_error_collector.mutex);
global_error_collector.warning_count++; global_error_collector.warning_count++;
push_error_value(pos, ErrorValue_Warning); push_error_value(pos, ErrorValue_Warning);
if (!global_ignore_warnings()) {
if (pos.line == 0) { if (pos.line == 0) {
error_out_empty(); error_out_empty();
error_out_coloured("Syntax Warning: ", TerminalStyle_Normal, TerminalColour_Yellow); error_out_coloured("Syntax Warning: ", TerminalStyle_Normal, TerminalColour_Yellow);
@@ -568,7 +572,6 @@ gb_internal void syntax_warning_va(TokenPos const &pos, TokenPos end, char const
error_out("\n"); error_out("\n");
// show_error_on_line(pos, end); // show_error_on_line(pos, end);
} }
}
try_pop_error_value(); try_pop_error_value();
mutex_unlock(&global_error_collector.mutex); mutex_unlock(&global_error_collector.mutex);