aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2022-01-26 17:34:39 +0000
committergingerBill <bill@gingerbill.org>2022-01-26 17:34:39 +0000
commit070b4507686570335cb3624ef1ede6f442bd4866 (patch)
tree3bd1c0084b242568e3c67875524ecd1594f76e40 /src
parent74174eb4ae796d6c161839d91c301229a1884713 (diff)
Add `ODIN_ERROR_POS_STYLE` constant and change `runtime.print_caller_location` based on that constant
Diffstat (limited to 'src')
-rw-r--r--src/build_settings.cpp2
-rw-r--r--src/checker.cpp10
2 files changed, 12 insertions, 0 deletions
diff --git a/src/build_settings.cpp b/src/build_settings.cpp
index 96339be29..610e4f847 100644
--- a/src/build_settings.cpp
+++ b/src/build_settings.cpp
@@ -168,6 +168,8 @@ enum TimingsExportFormat : i32 {
enum ErrorPosStyle {
ErrorPosStyle_Default, // path(line:column) msg
ErrorPosStyle_Unix, // path:line:column: msg
+
+ ErrorPosStyle_COUNT
};
// This stores the information for the specify architecture of this build
diff --git a/src/checker.cpp b/src/checker.cpp
index b81d9987b..e0c756bb8 100644
--- a/src/checker.cpp
+++ b/src/checker.cpp
@@ -893,6 +893,16 @@ void init_universal(void) {
add_global_enum_constant(fields, "ODIN_ENDIAN", target_endians[bc->metrics.arch]);
}
+ {
+ GlobalEnumValue values[ErrorPosStyle_COUNT] = {
+ {"Default", ErrorPosStyle_Default},
+ {"Unix", ErrorPosStyle_Unix},
+ };
+
+ auto fields = add_global_enum_type(str_lit("Odin_Error_Pos_Style_Type"), values, gb_count_of(values));
+ add_global_enum_constant(fields, "ODIN_ERROR_POS_STYLE", build_context.ODIN_ERROR_POS_STYLE);
+ }
+
add_global_bool_constant("ODIN_DEBUG", bc->ODIN_DEBUG);
add_global_bool_constant("ODIN_DISABLE_ASSERT", bc->ODIN_DISABLE_ASSERT);