diff --git a/lib/llvm-backend/src/code.rs b/lib/llvm-backend/src/code.rs index 4eae3aeb6..b2f5b62d9 100644 --- a/lib/llvm-backend/src/code.rs +++ b/lib/llvm-backend/src/code.rs @@ -8228,12 +8228,14 @@ impl ModuleCodeGenerator assoc: Map, ) -> Result<(), CodegenError> { for (index, sig_id) in &assoc { - let function = self.module.borrow_mut().add_function( - &format!("fn{}", index.index()), - self.signatures[*sig_id], - Some(Linkage::External), - ); - self.llvm_functions.borrow_mut().insert(index, function); + if index.index() >= self.func_import_count { + let function = self.module.borrow_mut().add_function( + &format!("fn{}", index.index()), + self.signatures[*sig_id], + Some(Linkage::External), + ); + self.llvm_functions.borrow_mut().insert(index, function); + } } self.function_signatures = Some(Arc::new(assoc)); Ok(())