mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-06 23:58:50 +00:00
Add internal flag for testing stuff
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user