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

View File

@@ -878,6 +878,7 @@ struct BuildContext {
bool ignore_lazy;
bool ignore_llvm_build;
bool ignore_panic;
bool ignore_microsoft_magic;
bool linker_map_file;

View File

@@ -1726,11 +1726,13 @@ gb_internal bool check_builtin_procedure_directive(CheckerContext *c, Operand *o
gb_string_free(str);
return false;
}
error(call, "Compile time panic: %.*s", LIT(operand->value.value_string));
if (c->proc_name != "") {
gbString str = type_to_string(c->curr_proc_sig);
error_line("\tCalled within '%.*s' :: %s\n", LIT(c->proc_name), str);
gb_string_free(str);
if (!build_context.ignore_panic) {
error(call, "Compile time panic: %.*s", LIT(operand->value.value_string));
if (c->proc_name != "") {
gbString str = type_to_string(c->curr_proc_sig);
error_line("\tCalled within '%.*s' :: %s\n", LIT(c->proc_name), str);
gb_string_free(str);
}
}
operand->type = t_invalid;
operand->mode = Addressing_NoValue;

View File

@@ -345,6 +345,7 @@ enum BuildFlagKind {
// internal use only
BuildFlag_InternalIgnoreLazy,
BuildFlag_InternalIgnoreLLVMBuild,
BuildFlag_InternalIgnorePanic,
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_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
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:
build_context.ignore_llvm_build = true;
break;
case BuildFlag_InternalIgnorePanic:
build_context.ignore_panic = true;
break;
case BuildFlag_Tilde:
build_context.tilde_backend = true;
break;