|
@@ -273,6 +273,7 @@ enum BuildFlagKind {
|
|
|
|
|
|
BuildFlag_DisallowDo,
|
|
BuildFlag_DisallowDo,
|
|
BuildFlag_DefaultToNilAllocator,
|
|
BuildFlag_DefaultToNilAllocator,
|
|
|
|
+ BuildFlag_DefaultToPanicAllocator,
|
|
BuildFlag_StrictStyle,
|
|
BuildFlag_StrictStyle,
|
|
BuildFlag_ForeignErrorProcedures,
|
|
BuildFlag_ForeignErrorProcedures,
|
|
BuildFlag_NoRTTI,
|
|
BuildFlag_NoRTTI,
|
|
@@ -460,6 +461,7 @@ gb_internal bool parse_build_flags(Array<String> args) {
|
|
|
|
|
|
add_flag(&build_flags, BuildFlag_DisallowDo, str_lit("disallow-do"), BuildFlagParam_None, Command__does_check);
|
|
add_flag(&build_flags, BuildFlag_DisallowDo, str_lit("disallow-do"), BuildFlagParam_None, Command__does_check);
|
|
add_flag(&build_flags, BuildFlag_DefaultToNilAllocator, str_lit("default-to-nil-allocator"), BuildFlagParam_None, Command__does_check);
|
|
add_flag(&build_flags, BuildFlag_DefaultToNilAllocator, str_lit("default-to-nil-allocator"), BuildFlagParam_None, Command__does_check);
|
|
|
|
+ add_flag(&build_flags, BuildFlag_DefaultToPanicAllocator, str_lit("default-to-panic-allocator"),BuildFlagParam_None, Command__does_check);
|
|
add_flag(&build_flags, BuildFlag_StrictStyle, str_lit("strict-style"), BuildFlagParam_None, Command__does_check);
|
|
add_flag(&build_flags, BuildFlag_StrictStyle, str_lit("strict-style"), BuildFlagParam_None, Command__does_check);
|
|
add_flag(&build_flags, BuildFlag_ForeignErrorProcedures, str_lit("foreign-error-procedures"), BuildFlagParam_None, Command__does_check);
|
|
add_flag(&build_flags, BuildFlag_ForeignErrorProcedures, str_lit("foreign-error-procedures"), BuildFlagParam_None, Command__does_check);
|
|
|
|
|
|
@@ -1122,8 +1124,20 @@ gb_internal bool parse_build_flags(Array<String> args) {
|
|
break;
|
|
break;
|
|
|
|
|
|
case BuildFlag_DefaultToNilAllocator:
|
|
case BuildFlag_DefaultToNilAllocator:
|
|
|
|
+ if (build_context.ODIN_DEFAULT_TO_PANIC_ALLOCATOR) {
|
|
|
|
+ gb_printf_err("'-default-to-panic-allocator' cannot be used with '-default-to-nil-allocator'\n");
|
|
|
|
+ bad_flags = true;
|
|
|
|
+ }
|
|
build_context.ODIN_DEFAULT_TO_NIL_ALLOCATOR = true;
|
|
build_context.ODIN_DEFAULT_TO_NIL_ALLOCATOR = true;
|
|
break;
|
|
break;
|
|
|
|
+ case BuildFlag_DefaultToPanicAllocator:
|
|
|
|
+ if (build_context.ODIN_DEFAULT_TO_NIL_ALLOCATOR) {
|
|
|
|
+ gb_printf_err("'-default-to-nil-allocator' cannot be used with '-default-to-panic-allocator'\n");
|
|
|
|
+ bad_flags = true;
|
|
|
|
+ }
|
|
|
|
+ build_context.ODIN_DEFAULT_TO_PANIC_ALLOCATOR = true;
|
|
|
|
+ break;
|
|
|
|
+
|
|
case BuildFlag_ForeignErrorProcedures:
|
|
case BuildFlag_ForeignErrorProcedures:
|
|
build_context.ODIN_FOREIGN_ERROR_PROCEDURES = true;
|
|
build_context.ODIN_FOREIGN_ERROR_PROCEDURES = true;
|
|
break;
|
|
break;
|