aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
authorJeroen van Rijn <Kelimion@users.noreply.github.com>2025-10-27 16:23:54 +0100
committerJeroen van Rijn <Kelimion@users.noreply.github.com>2025-10-27 16:23:54 +0100
commitf726f7aff4fca97afb348727cd26e56be2d0cb97 (patch)
tree0b30357fec2eba46855e3251246eff8ef787cef9 /src/main.cpp
parenteb0e99dac12bba9d304df18e64179bb4000b1a21 (diff)
Make Karl Zylinski happy
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 4cc53f319..0af589339 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -334,6 +334,7 @@ enum BuildFlagKind {
BuildFlag_ShowDefineables,
BuildFlag_ExportDefineables,
+ BuildFlag_IgnoreUnusedDefineables,
BuildFlag_Vet,
BuildFlag_VetShadowing,
@@ -563,6 +564,7 @@ gb_internal bool parse_build_flags(Array<String> args) {
add_flag(&build_flags, BuildFlag_ShowDefineables, str_lit("show-defineables"), BuildFlagParam_None, Command__does_check);
add_flag(&build_flags, BuildFlag_ExportDefineables, str_lit("export-defineables"), BuildFlagParam_String, Command__does_check);
+ add_flag(&build_flags, BuildFlag_IgnoreUnusedDefineables, str_lit("ignore-unused-defineables"), BuildFlagParam_None, Command__does_check);
add_flag(&build_flags, BuildFlag_Vet, str_lit("vet"), BuildFlagParam_None, Command__does_check);
add_flag(&build_flags, BuildFlag_VetUnused, str_lit("vet-unused"), BuildFlagParam_None, Command__does_check);
@@ -945,6 +947,11 @@ gb_internal bool parse_build_flags(Array<String> args) {
break;
}
+ case BuildFlag_IgnoreUnusedDefineables: {
+ GB_ASSERT(value.kind == ExactValue_Invalid);
+ build_context.ignore_unused_defineables = true;
+ break;
+ }
case BuildFlag_ShowSystemCalls: {
GB_ASSERT(value.kind == ExactValue_Invalid);
build_context.show_system_calls = true;
@@ -2882,6 +2889,10 @@ gb_internal int print_show_help(String const arg0, String command, String option
print_usage_line(2, "Shows an overview of all the #config/#defined usages in the project.");
}
+ if (print_flag("-ignore-unused-defineables")) {
+ print_usage_line(2, "Silence warning/error if a -define doesn't have at least one #config/#defined usage.");
+ }
+
if (print_flag("-show-system-calls")) {
print_usage_line(2, "Prints the whole command and arguments for calls to external tools like linker and assembler.");
}
@@ -3891,7 +3902,9 @@ int main(int arg_count, char const **arg_ptr) {
MAIN_TIME_SECTION("type check");
check_parsed_files(checker);
- check_defines(&build_context, checker);
+ if (!build_context.ignore_unused_defineables) {
+ check_defines(&build_context, checker);
+ }
if (any_errors()) {
print_all_errors();
return 1;