From a1b3bda345ddda843fb5e50a1d02aafd37456ffb Mon Sep 17 00:00:00 2001 From: shadow cat Date: Fri, 11 Apr 2025 02:06:40 -0400 Subject: [PATCH] validate asm block arg size --- src/ir/upper/validate.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/ir/upper/validate.rs b/src/ir/upper/validate.rs index 2e658be..c4da060 100644 --- a/src/ir/upper/validate.rs +++ b/src/ir/upper/validate.rs @@ -72,7 +72,16 @@ impl UProgram { } } UInstruction::AsmBlock { instructions, args } => { - // TODO + for arg in args { + if let Some(size) = self.size_of_var(arg.var.id) + && size != 64 + { + output.err(CompilerMsg { + msg: format!("asm block args must be size 64, is size {}", size), + spans: vec![arg.var.span], + }); + } + } } UInstruction::Ret { src } => { let srcty = &self.expect(src.id).ty;