diff options
author | Peter Zotov <whitequark@whitequark.org> | 2013-11-06 09:21:31 +0000 |
---|---|---|
committer | Peter Zotov <whitequark@whitequark.org> | 2013-11-06 09:21:31 +0000 |
commit | 87265f9792a59b7107bd30fb6f114f5ce5e1273c (patch) | |
tree | 406b4a43ab45083b7b80ff75a4d8ea573edb957b | |
parent | ec7270c966b4a49840b1801bfbb11977d76cb333 (diff) | |
download | external_llvm-87265f9792a59b7107bd30fb6f114f5ce5e1273c.zip external_llvm-87265f9792a59b7107bd30fb6f114f5ce5e1273c.tar.gz external_llvm-87265f9792a59b7107bd30fb6f114f5ce5e1273c.tar.bz2 |
[llvm-c] Expose LLVMLoadLibraryPermanently
Original patch by Chris Wailes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194139 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm-c/Support.h | 36 | ||||
-rw-r--r-- | lib/Support/DynamicLibrary.cpp | 9 |
2 files changed, 45 insertions, 0 deletions
diff --git a/include/llvm-c/Support.h b/include/llvm-c/Support.h new file mode 100644 index 0000000..72af4e4 --- /dev/null +++ b/include/llvm-c/Support.h @@ -0,0 +1,36 @@ +/*===-- llvm-c/Support.h - Support C Interface --------------------*- C -*-===*\ +|* *| +|* The LLVM Compiler Infrastructure *| +|* *| +|* This file is distributed under the University of Illinois Open Source *| +|* License. See LICENSE.TXT for details. *| +|* *| +|*===----------------------------------------------------------------------===*| +|* *| +|* This file defines the C interface to the LLVM support library. *| +|* *| +\*===----------------------------------------------------------------------===*/ + +#ifndef LLVM_C_SUPPORT_H +#define LLVM_C_SUPPORT_H + +#include "llvm-c/Core.h" +#include "llvm/Support/DynamicLibrary.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * This function permanently loads the dynamic library at the given path. + * It is safe to call this function multiple times for the same library. + * + * @see sys::DynamicLibrary::LoadLibraryPermanently() + */ +LLVMBool LLVMLoadLibraryPermanently(const char* Filename); + +#ifdef __cplusplus +} +#endif + +#endif
\ No newline at end of file diff --git a/lib/Support/DynamicLibrary.cpp b/lib/Support/DynamicLibrary.cpp index c063f53..f58a1f1 100644 --- a/lib/Support/DynamicLibrary.cpp +++ b/lib/Support/DynamicLibrary.cpp @@ -19,6 +19,7 @@ #include "llvm/ADT/StringMap.h" #include "llvm/Config/config.h" #include "llvm/Support/Mutex.h" +#include "llvm-c/Core.h" #include <cstdio> #include <cstring> @@ -169,3 +170,11 @@ void* DynamicLibrary::SearchForAddressOfSymbol(const char *symbolName) { } #endif // LLVM_ON_WIN32 + +//===----------------------------------------------------------------------===// +// C API. +//===----------------------------------------------------------------------===// + +LLVMBool LLVMLoadLibraryPermanently(const char* Filename) { + return sys::DynamicLibrary::LoadLibraryPermanently(Filename); +}
\ No newline at end of file |