diff --git a/core/runtime/core.odin b/core/runtime/core.odin index f76c77581..f06b345ff 100644 --- a/core/runtime/core.odin +++ b/core/runtime/core.odin @@ -499,6 +499,16 @@ Odin_Build_Mode_Type :: type_of(ODIN_BUILD_MODE) Odin_Endian_Type :: type_of(ODIN_ENDIAN) +/* + // Defined internally by the compiler + Odin_Platform_Subtarget_Type :: enum int { + Default, + iOS, + } +*/ +Odin_Platform_Subtarget_Type :: type_of(ODIN_PLATFORM_TARGET) + + ///////////////////////////// // Init Startup Procedures // ///////////////////////////// diff --git a/src/checker.cpp b/src/checker.cpp index 7fa7a9c36..139bf9690 100644 --- a/src/checker.cpp +++ b/src/checker.cpp @@ -1031,6 +1031,16 @@ gb_internal void init_universal(void) { add_global_string_constant("ODIN_ENDIAN_STRING", target_endian_names[target_endians[bc->metrics.arch]]); } + { + GlobalEnumValue values[Subtarget_COUNT] = { + {"Default", Subtarget_Default}, + {"iOS", Subtarget_iOS}, + }; + + auto fields = add_global_enum_type(str_lit("Odin_Platform_Subtarget_Type"), values, gb_count_of(values)); + add_global_enum_constant(fields, "ODIN_PLATFORM_SUBTARGET", selected_subtarget); + } + { GlobalEnumValue values[ErrorPosStyle_COUNT] = { {"Default", ErrorPosStyle_Default},