]> granicus.if.org Git - clang/commitdiff
Ambiguity might be also uninitialized. Use llvm::Optional.
authorVassil Vassilev <v.g.vassilev@gmail.com>
Fri, 30 Jun 2017 09:25:43 +0000 (09:25 +0000)
committerVassil Vassilev <v.g.vassilev@gmail.com>
Fri, 30 Jun 2017 09:25:43 +0000 (09:25 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@306809 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Sema/Lookup.h

index 145355c5ec3d1d29c9eec7932820d2db274a447f..fc16ad2e819e8591e1820e6d061a0f937258f582 100644 (file)
@@ -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;