diff --git a/crates/compiler/gen_dev/src/generic64/storage.rs b/crates/compiler/gen_dev/src/generic64/storage.rs index 3c674dd4f9..1e9a7f652f 100644 --- a/crates/compiler/gen_dev/src/generic64/storage.rs +++ b/crates/compiler/gen_dev/src/generic64/storage.rs @@ -1112,7 +1112,7 @@ impl< } /// Specifies a no data exists. - pub fn no_data_arg(&mut self, sym: &Symbol) { + pub fn no_data(&mut self, sym: &Symbol) { self.symbol_storage_map.insert(*sym, NoData); } diff --git a/crates/compiler/gen_dev/src/generic64/x86_64.rs b/crates/compiler/gen_dev/src/generic64/x86_64.rs index 52ec79878e..9e9a6f22e5 100644 --- a/crates/compiler/gen_dev/src/generic64/x86_64.rs +++ b/crates/compiler/gen_dev/src/generic64/x86_64.rs @@ -406,7 +406,9 @@ impl CallConv for X86_64Syste single_register_layouts!() => { internal_error!("single register layouts are not complex symbols"); } - x if layout_interner.stack_size(x) == 0 => {} + x if layout_interner.stack_size(x) == 0 => { + storage_manager.no_data(sym); + } x if !Self::returns_via_arg_pointer(layout_interner, &x) => { let size = layout_interner.stack_size(*layout); let offset = storage_manager.claim_stack_area(sym, size); @@ -663,7 +665,7 @@ impl X64_64SystemVLoadArgs { single_register_integers!() => self.load_arg_general(storage_manager, sym), single_register_floats!() => self.load_arg_float(storage_manager, sym), _ if stack_size == 0 => { - storage_manager.no_data_arg(&sym); + storage_manager.no_data(&sym); } _ if stack_size > 16 => { // TODO: Double check this.