mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-21 18:29:46 +00:00
Don't use NULL to represent an invalid library; Cygwin uses this for RTLD_DEFAULT. Caught by Takumi.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137841 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
4c81cf5dfc
commit
77b6f2fd22
@ -32,13 +32,18 @@ namespace sys {
|
||||
/// Note: there is currently no interface for temporarily loading a library,
|
||||
/// or for unloading libraries when the LLVM library is unloaded.
|
||||
class DynamicLibrary {
|
||||
// Placeholder whose address represents an invalid library.
|
||||
// We use this instead of NULL or a pointer-int pair because the OS library
|
||||
// might define 0 or 1 to be "special" handles, such as "search all".
|
||||
static const char Invalid;
|
||||
|
||||
// Opaque data used to interface with OS-specific dynamic library handling.
|
||||
void *Data;
|
||||
|
||||
explicit DynamicLibrary(void *data = 0) : Data(data) {}
|
||||
explicit DynamicLibrary(void *data = &Invalid) : Data(data) {}
|
||||
public:
|
||||
/// Returns true if the object refers to a valid library.
|
||||
bool isValid() { return Data != 0; }
|
||||
bool isValid() { return Data != &Invalid; }
|
||||
|
||||
/// Searches through the library for the symbol \p symbolName. If it is
|
||||
/// found, the address of that symbol is returned. If not, NULL is returned.
|
||||
|
Loading…
Reference in New Issue
Block a user