aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2025-08-18 19:28:19 -0400
committerBruce Hill <bruce@bruce-hill.com>2025-08-18 19:28:19 -0400
commita00571abd3f0cba014aa8b942b5b242df1ff24de (patch)
tree4625bc646447d5c322dce772f20f4ecb1ae1b419 /src
parent602cedd03b0c3d6ef176efafb08f51bde9bfe543 (diff)
Fix some compatibility issues, including #embed and `alignof` and some Makefile comment parsing issues.
Diffstat (limited to 'src')
-rw-r--r--src/naming.c2
-rw-r--r--src/stdlib/pointers.h2
-rw-r--r--src/tomo.c10
3 files changed, 5 insertions, 9 deletions
diff --git a/src/naming.c b/src/naming.c
index abe87569..ba5098fd 100644
--- a/src/naming.c
+++ b/src/naming.c
@@ -12,7 +12,7 @@
static const char *c_keywords[] = { // Maintain sorted order:
"_Alignas", "_Alignof", "_Atomic", "_BitInt", "_Bool", "_Complex", "_Decimal128", "_Decimal32", "_Decimal64", "_Generic",
"_Imaginary", "_Noreturn", "_Static_assert", "_Thread_local",
- "alignas", "alignof", "auto", "bool", "break", "case", "char", "const", "constexpr", "continue", "default", "do", "double",
+ "alignas", "__alignof__", "auto", "bool", "break", "case", "char", "const", "constexpr", "continue", "default", "do", "double",
"else", "enum", "extern", "false", "float", "for", "goto", "if", "inline", "int", "long", "nullptr", "register", "restrict",
"return", "short", "signed", "sizeof", "static", "static_assert", "struct", "switch", "thread_local", "true", "typedef",
"typeof", "typeof_unqual", "union", "unsigned", "void", "volatile", "while",
diff --git a/src/stdlib/pointers.h b/src/stdlib/pointers.h
index b818452e..001dc5ce 100644
--- a/src/stdlib/pointers.h
+++ b/src/stdlib/pointers.h
@@ -18,7 +18,7 @@ void Pointer$deserialize(FILE *in, void *outval, List_t *pointers, const TypeInf
#define Null(t) (t*)NULL
#define POINTER_TYPE(_sigil, _pointed) (&(TypeInfo_t){\
- .size=sizeof(void*), .align=alignof(void*), .tag=PointerInfo, .PointerInfo.sigil=_sigil, .PointerInfo.pointed=_pointed})
+ .size=sizeof(void*), .align=__alignof__(void*), .tag=PointerInfo, .PointerInfo.sigil=_sigil, .PointerInfo.pointed=_pointed})
#define Pointer$metamethods { \
.as_text=Pointer$as_text, \
diff --git a/src/tomo.c b/src/tomo.c
index e8012f9e..4cad76a0 100644
--- a/src/tomo.c
+++ b/src/tomo.c
@@ -13,6 +13,7 @@
#endif
#include "ast.h"
+#include "changes.md.h"
#include "compile.h"
#include "modules.h"
#include "naming.h"
@@ -97,11 +98,6 @@ static Text_t config_summary,
// of that directory.
as_owner = Text("");
-static const char changelog[] = {
-#embed "../CHANGES.md"
- , 0
-};
-
static void transpile_header(env_t *base_env, Path_t path);
static void transpile_code(env_t *base_env, Path_t path);
static void compile_object_file(Path_t path);
@@ -230,7 +226,7 @@ int main(int argc, char *argv[])
}
if (show_changelog) {
- print_inline(changelog);
+ print_inline(string_slice(CHANGES_md, CHANGES_md_len));
return 0;
}
@@ -693,7 +689,7 @@ void build_file_dependency_graph(Path_t path, Table_t *to_compile, Table_t *to_l
time_t latest_included_modification_time(Path_t path)
{
static Table_t c_modification_times = {};
- const TypeInfo_t time_info = {.size=sizeof(time_t), .align=alignof(time_t), .tag=OpaqueInfo};
+ const TypeInfo_t time_info = {.size=sizeof(time_t), .align=__alignof__(time_t), .tag=OpaqueInfo};
time_t *cached_latest = Table$get(c_modification_times, &path, Table$info(&Path$info, &time_info));
if (cached_latest) return *cached_latest;