Skip to content

Commit

Permalink
[llvm-c] Expose LLVMLoadLibraryPermanently
Browse files Browse the repository at this point in the history
Original patch by Chris Wailes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194139 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
whitequark committed Nov 6, 2013
1 parent ec7270c commit 87265f9
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 0 deletions.
36 changes: 36 additions & 0 deletions include/llvm-c/Support.h
Original file line number Diff line number Diff line change
@@ -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
9 changes: 9 additions & 0 deletions lib/Support/DynamicLibrary.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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>

Expand Down Expand Up @@ -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);
}

0 comments on commit 87265f9

Please sign in to comment.