diff --git a/core/c/c.odin b/core/c/c.odin index 35dcdb1a5..47af84165 100644 --- a/core/c/c.odin +++ b/core/c/c.odin @@ -1,7 +1,6 @@ package c import b "core:builtin" -import "core:os" CHAR_BIT :: 8; @@ -15,8 +14,8 @@ ushort :: b.u16; int :: b.i32; uint :: b.u32; -long :: (os.OS == "windows" || size_of(b.rawptr) == 4) ? b.i32 : b.i64; -ulong :: (os.OS == "windows" || size_of(b.rawptr) == 4) ? b.u32 : b.u64; +long :: (ODIN_OS == "windows" || size_of(b.rawptr) == 4) ? b.i32 : b.i64; +ulong :: (ODIN_OS == "windows" || size_of(b.rawptr) == 4) ? b.u32 : b.u64; longlong :: b.i64; ulonglong :: b.u64; diff --git a/src/check_decl.cpp b/src/check_decl.cpp index 3f5ef042f..5ede584aa 100644 --- a/src/check_decl.cpp +++ b/src/check_decl.cpp @@ -40,6 +40,14 @@ Type *check_init_variable(CheckerContext *ctx, Entity *e, Operand *operand, Stri return nullptr; } + if (operand->mode == Addressing_Type) { + gbString t = type_to_string(operand->type); + error(operand->expr, "Cannot assign a type '%s' to variable '%.*s'", t, LIT(e->token.string)); + gb_string_free(t); + e->type = operand->type; + return nullptr; + } + if (e->type == nullptr) {