Browse Source

Ambiguity might be also uninitialized. Use llvm::Optional.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@306809 91177308-0d34-0410-b5e6-96231b3b80d8
Vassil Vassilev 8 years ago
parent
commit
0c223be753
1 changed files with 5 additions and 2 deletions
  1. 5 2
      include/clang/Sema/Lookup.h

+ 5 - 2
include/clang/Sema/Lookup.h

@@ -18,6 +18,8 @@
 #include "clang/AST/DeclCXX.h"
 #include "clang/Sema/Sema.h"
 
+#include "llvm/ADT/Optional.h"
+
 namespace clang {
 
 /// @brief Represents the results of name lookup.
@@ -465,9 +467,10 @@ public:
         Paths = nullptr;
       }
     } else {
-      AmbiguityKind SavedAK = Ambiguity;
+      llvm::Optional<AmbiguityKind> SavedAK;
       bool WasAmbiguous = false;
       if (ResultKind == Ambiguous) {
+        SavedAK = Ambiguity;
         WasAmbiguous = true;
       }
       ResultKind = Found;
@@ -478,7 +481,7 @@ public:
       if (ResultKind == Ambiguous) {
         (void)WasAmbiguous;
         assert(WasAmbiguous);
-        Ambiguity = SavedAK;
+        Ambiguity = SavedAK.getValue();
       } else if (Paths) {
         deletePaths(Paths);
         Paths = nullptr;