aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/build_settings.cpp2
-rw-r--r--src/checker.cpp1
-rw-r--r--src/ir.cpp2
-rw-r--r--src/main.cpp2
4 files changed, 4 insertions, 3 deletions
diff --git a/src/build_settings.cpp b/src/build_settings.cpp
index e0bc71949..652d7bb28 100644
--- a/src/build_settings.cpp
+++ b/src/build_settings.cpp
@@ -7,6 +7,7 @@ struct BuildContext {
String ODIN_VENDOR; // compiler vendor
String ODIN_VERSION; // compiler version
String ODIN_ROOT; // Odin ROOT
+ bool ODIN_DEBUG; // Odin in debug mode
// In bytes
i64 word_size; // Size of a pointer, must be >= 4
@@ -22,7 +23,6 @@ struct BuildContext {
i32 optimization_level;
bool show_timings;
bool keep_temp_files;
- bool debug;
bool no_bounds_check;
gbAffinity affinity;
diff --git a/src/checker.cpp b/src/checker.cpp
index f136ee776..10da68af6 100644
--- a/src/checker.cpp
+++ b/src/checker.cpp
@@ -548,6 +548,7 @@ void init_universal_scope(void) {
add_global_string_constant(a, str_lit("ODIN_VENDOR"), bc->ODIN_VENDOR);
add_global_string_constant(a, str_lit("ODIN_VERSION"), bc->ODIN_VERSION);
add_global_string_constant(a, str_lit("ODIN_ROOT"), bc->ODIN_ROOT);
+ add_global_constant(a, str_lit("ODIN_DEBUG"), t_untyped_bool, exact_value_bool(bc->ODIN_DEBUG));
// Builtin Procedures
diff --git a/src/ir.cpp b/src/ir.cpp
index 4dbba4667..f2ab85e38 100644
--- a/src/ir.cpp
+++ b/src/ir.cpp
@@ -7598,7 +7598,7 @@ void ir_init_module(irModule *m, Checker *c) {
m->info = &c->info;
m->generate_debug_info = false;
- if (build_context.debug) {
+ if (build_context.ODIN_DEBUG) {
m->generate_debug_info = build_context.ODIN_OS == "windows" && build_context.word_size == 8;
}
diff --git a/src/main.cpp b/src/main.cpp
index 1f2ffd17c..2991a2062 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -505,7 +505,7 @@ bool parse_build_flags(Array<String> args) {
}
case BuildFlag_Debug:
- build_context.debug = true;
+ build_context.ODIN_DEBUG = true;
break;
case BuildFlag_NoBoundsCheck: