aboutsummaryrefslogtreecommitdiff
path: root/src/checker.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2023-06-07 15:49:12 +0100
committergingerBill <bill@gingerbill.org>2023-06-07 15:49:12 +0100
commit7dc09ed4501d0a7b256a05e6467cd86a262367ae (patch)
treeb8d2fe66d2aa5be19b059ff77209d0d7aeb1c382 /src/checker.cpp
parent349641e95f63047a5fc28b3f5358f9249da7f38a (diff)
Add `ODIN_COMPILE_TIMESTAMP` (unix timestamp in nanoseconds)
Diffstat (limited to 'src/checker.cpp')
-rw-r--r--src/checker.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/checker.cpp b/src/checker.cpp
index c71546499..a8227fc2e 100644
--- a/src/checker.cpp
+++ b/src/checker.cpp
@@ -915,6 +915,13 @@ gb_internal Type *add_global_type_name(Scope *scope, String const &type_name, Ty
return named_type;
}
+gb_internal i64 odin_compile_timestamp(void) {
+ i64 us_after_1601 = cast(i64)gb_utc_time_now();
+ i64 us_after_1970 = us_after_1601 - 11644473600000000ll;
+ i64 ns_after_1970 = us_after_1970*1000ll;
+ return ns_after_1970;
+}
+
gb_internal void init_universal(void) {
BuildContext *bc = &build_context;
@@ -1051,6 +1058,7 @@ gb_internal void init_universal(void) {
add_global_bool_constant("ODIN_VALGRIND_SUPPORT", bc->ODIN_VALGRIND_SUPPORT);
+ add_global_constant("ODIN_COMPILE_TIMESTAMP", t_untyped_integer, exact_value_i64(odin_compile_timestamp()));
// Builtin Procedures