Fix some semantic usability issues with DynamicLibrary.
authorZachary Turner <zturner@google.com>
Wed, 27 Aug 2014 18:13:25 +0000 (18:13 +0000)
committerZachary Turner <zturner@google.com>
Wed, 27 Aug 2014 18:13:25 +0000 (18:13 +0000)
This patch allows invalid DynamicLibrary instances to be
constructed, and fixes the const-correctness of the isValid()
method.

No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216571 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Support/DynamicLibrary.h

index 2eb648d1091695dabf762ade20ea4ee4bf04186b..a7d22212dbdb5e39e295048136fb530853ccba12 100644 (file)
@@ -43,10 +43,11 @@ namespace sys {
     // Opaque data used to interface with OS-specific dynamic library handling.
     void *Data;
 
-    explicit DynamicLibrary(void *data = &Invalid) : Data(data) {}
   public:
+    explicit DynamicLibrary(void *data = &Invalid) : Data(data) {}
+
     /// Returns true if the object refers to a valid library.
-    bool isValid() { return Data != &Invalid; }
+    bool isValid() const { 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.