From 96006e40ce34dcae0cdd3a94b1b329c9ff633831 Mon Sep 17 00:00:00 2001 From: Johannes Stoelp Date: Wed, 22 Sep 2021 22:38:41 +0200 Subject: add llvm shutdown to free allocated memory --- src/llvm/mod.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/llvm/mod.rs') diff --git a/src/llvm/mod.rs b/src/llvm/mod.rs index f3e54a8..01ed3f2 100644 --- a/src/llvm/mod.rs +++ b/src/llvm/mod.rs @@ -8,7 +8,7 @@ //! For the scope of this tutorial we mainly use assertions to validate the results from the LLVM //! API calls. -use llvm_sys::prelude::LLVMBasicBlockRef; +use llvm_sys::{core::LLVMShutdown, prelude::LLVMBasicBlockRef}; use std::marker::PhantomData; @@ -27,3 +27,10 @@ pub use value::{FnValue, Value}; /// Wrapper for a LLVM Basic Block. #[derive(Copy, Clone)] pub struct BasicBlock<'llvm>(LLVMBasicBlockRef, PhantomData<&'llvm ()>); + +/// Deallocate and destroy all "ManagedStatic" variables. +pub fn shutdown() { + unsafe { + LLVMShutdown(); + }; +} -- cgit v1.2.3