diff --git a/build.bat b/build.bat index 2d8bf99..2e51ddb 100644 --- a/build.bat +++ b/build.bat @@ -4,6 +4,6 @@ call "..\misc\compile_setup.bat" bld --dont_compile_core cd build core_main.exe examples/game2d.core -bld --dont_compile_core --link=vendor/raylib/windows/raylibdll.lib +rem bld --dont_compile_core --link=vendor/raylib/windows/raylibdll.lib rem build\generated_main.exe cd .. diff --git a/core_codegen_c_language.cpp b/core_codegen_c_language.cpp index 695fa34..353283b 100644 --- a/core_codegen_c_language.cpp +++ b/core_codegen_c_language.cpp @@ -180,16 +180,22 @@ CORE_Static String get_type_postfix(Ast_Type *type) { switch (type->kind) { case TYPE_F32: return "f"_s; break; + case TYPE_ULLONG: case TYPE_U64: return "ULL"_s; break; + case TYPE_LLONG: case TYPE_S64: return "LL"_s; break; + case TYPE_U8: + case TYPE_UCHAR: + case TYPE_U16: + case TYPE_U32: return "U"_s; break; + + case TYPE_SHORT: + case TYPE_LONG: case TYPE_F64: case TYPE_S8: case TYPE_S16: case TYPE_S32: - case TYPE_U8: - case TYPE_U16: case TYPE_INT: - case TYPE_U32: case TYPE_CHAR: return ""_s; break; diff --git a/core_types.h b/core_types.h index 60ba992..b285f49 100644 --- a/core_types.h +++ b/core_types.h @@ -2,17 +2,25 @@ // Resolved Types //----------------------------------------------------------------------------- -#define CASE_SINT \ - case TYPE_S8: \ - case TYPE_S16: \ - case TYPE_S32: \ - case TYPE_S64: \ - case TYPE_CHAR: \ +#define CASE_SINT \ + case TYPE_S8: \ + case TYPE_S16: \ + case TYPE_S32: \ + case TYPE_S64: \ + case TYPE_CHAR: \ + case TYPE_LONG: \ + case TYPE_LLONG: \ + case TYPE_SHORT: \ case TYPE_INT -#define CASE_UINT \ - case TYPE_U8: \ - case TYPE_U16: \ - case TYPE_U32: \ +#define CASE_UINT \ + case TYPE_UINT: \ + case TYPE_ULONG: \ + case TYPE_ULLONG: \ + case TYPE_USHORT: \ + case TYPE_UCHAR: \ + case TYPE_U8: \ + case TYPE_U16: \ + case TYPE_U32: \ case TYPE_U64 #define CASE_INT \ case TYPE_UNTYPED_INT: \