From bf3bd19f79936fa519a5285701763da58935592a Mon Sep 17 00:00:00 2001 From: hachem Date: Wed, 9 Sep 2026 05:43:06 +0200 Subject: refactor: split code gen into arch seam --- src/sema.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/sema.c') diff --git a/src/sema.c b/src/sema.c index 274bd53..4b9af4a 100644 --- a/src/sema.c +++ b/src/sema.c @@ -199,6 +199,8 @@ static bool is_arch_register(struct Token token) "rip", "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6", "xmm7", "xmm8", "xmm9", "xmm10", "xmm11", "xmm12", "xmm13", "xmm14", "xmm15", + "cs", "ds", "es", "fs", "gs", "ss", + "cr0", "cr2", "cr3", "cr4", "cr8", }; for (size_t i = 0; i < sizeof(names) / sizeof(names[0]); i += 1) @@ -497,6 +499,11 @@ static void check_statement(struct RefCheck* check, struct Statement* statement) case STATEMENT_LABEL: case STATEMENT_SYSCALL: break; + case STATEMENT_INSTRUCTION: + // a raw instruction is an escape hatch; its operands may name asm + // symbols or registers hdass does not model, so leave them to the + // assembler rather than flagging them as undefined + break; } } -- cgit v1.3