Add internal flag for testing stuff

This commit is contained in:
gingerBill
2024-06-29 12:04:31 +01:00
parent 4b71c47fd5
commit d6b8544f50
3 changed files with 13 additions and 5 deletions
+1
View File
@@ -878,6 +878,7 @@ struct BuildContext {
bool ignore_lazy; bool ignore_lazy;
bool ignore_llvm_build; bool ignore_llvm_build;
bool ignore_panic;
bool ignore_microsoft_magic; bool ignore_microsoft_magic;
bool linker_map_file; bool linker_map_file;
+7 -5
View File
@@ -1726,11 +1726,13 @@ gb_internal bool check_builtin_procedure_directive(CheckerContext *c, Operand *o
gb_string_free(str); gb_string_free(str);
return false; return false;
} }
error(call, "Compile time panic: %.*s", LIT(operand->value.value_string)); if (!build_context.ignore_panic) {
if (c->proc_name != "") { error(call, "Compile time panic: %.*s", LIT(operand->value.value_string));
gbString str = type_to_string(c->curr_proc_sig); if (c->proc_name != "") {
error_line("\tCalled within '%.*s' :: %s\n", LIT(c->proc_name), str); gbString str = type_to_string(c->curr_proc_sig);
gb_string_free(str); error_line("\tCalled within '%.*s' :: %s\n", LIT(c->proc_name), str);
gb_string_free(str);
}
} }
operand->type = t_invalid; operand->type = t_invalid;
operand->mode = Addressing_NoValue; operand->mode = Addressing_NoValue;
+5
View File
@@ -345,6 +345,7 @@ enum BuildFlagKind {
// internal use only // internal use only
BuildFlag_InternalIgnoreLazy, BuildFlag_InternalIgnoreLazy,
BuildFlag_InternalIgnoreLLVMBuild, BuildFlag_InternalIgnoreLLVMBuild,
BuildFlag_InternalIgnorePanic,
BuildFlag_Tilde, BuildFlag_Tilde,
@@ -543,6 +544,7 @@ gb_internal bool parse_build_flags(Array<String> args) {
add_flag(&build_flags, BuildFlag_InternalIgnoreLazy, str_lit("internal-ignore-lazy"), BuildFlagParam_None, Command_all); add_flag(&build_flags, BuildFlag_InternalIgnoreLazy, str_lit("internal-ignore-lazy"), BuildFlagParam_None, Command_all);
add_flag(&build_flags, BuildFlag_InternalIgnoreLLVMBuild, str_lit("internal-ignore-llvm-build"),BuildFlagParam_None, Command_all); add_flag(&build_flags, BuildFlag_InternalIgnoreLLVMBuild, str_lit("internal-ignore-llvm-build"),BuildFlagParam_None, Command_all);
add_flag(&build_flags, BuildFlag_InternalIgnorePanic, str_lit("internal-ignore-panic"), BuildFlagParam_None, Command_all);
#if ALLOW_TILDE #if ALLOW_TILDE
add_flag(&build_flags, BuildFlag_Tilde, str_lit("tilde"), BuildFlagParam_None, Command__does_build); add_flag(&build_flags, BuildFlag_Tilde, str_lit("tilde"), BuildFlagParam_None, Command__does_build);
@@ -1352,6 +1354,9 @@ gb_internal bool parse_build_flags(Array<String> args) {
case BuildFlag_InternalIgnoreLLVMBuild: case BuildFlag_InternalIgnoreLLVMBuild:
build_context.ignore_llvm_build = true; build_context.ignore_llvm_build = true;
break; break;
case BuildFlag_InternalIgnorePanic:
build_context.ignore_panic = true;
break;
case BuildFlag_Tilde: case BuildFlag_Tilde:
build_context.tilde_backend = true; build_context.tilde_backend = true;
break; break;