Make the LookupBase boolean an enum instead.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72594 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaInherit.cpp b/lib/Sema/SemaInherit.cpp
index f5c7a7f..5eef1eb 100644
--- a/lib/Sema/SemaInherit.cpp
+++ b/lib/Sema/SemaInherit.cpp
@@ -175,10 +175,12 @@
     // type to see if we've found a member that meets the search
     // criteria.
     bool FoundPathToThisBase = false;
-    if (Criteria.LookupBase) {
+    switch (Criteria.Kind) {
+    case MemberLookupCriteria::LK_Base:
       FoundPathToThisBase 
         = (Context.getCanonicalType(BaseSpec->getType()) == Criteria.Base);
-    } else {
+      break;
+    case MemberLookupCriteria::LK_NamedMember:
       Paths.ScratchPath.Decls = BaseRecord->lookup(Context, Criteria.Name);
       while (Paths.ScratchPath.Decls.first != Paths.ScratchPath.Decls.second) {
         if (isAcceptableLookupResult(*Paths.ScratchPath.Decls.first,
@@ -188,6 +190,7 @@
         }
         ++Paths.ScratchPath.Decls.first;
       }
+      break;
     }
 
     if (FoundPathToThisBase) {
diff --git a/lib/Sema/SemaInherit.h b/lib/Sema/SemaInherit.h
index a71ae8d..3319963 100644
--- a/lib/Sema/SemaInherit.h
+++ b/lib/Sema/SemaInherit.h
@@ -202,22 +202,29 @@
   /// member of a C++ class. Objects of this type are used to direct
   /// Sema::LookupCXXClassMember.
   struct MemberLookupCriteria {
+    /// LookupKind - the kind of lookup we're doing.
+    enum LookupKind {
+      LK_Base,
+      LK_NamedMember
+    };
+    
     /// MemberLookupCriteria - Constructs member lookup criteria to
     /// search for a base class of type Base.
     explicit MemberLookupCriteria(QualType Base) 
-      : LookupBase(true), Base(Base) { }
+      : Kind(LK_Base), Base(Base) { }
 
     /// MemberLookupCriteria - Constructs member lookup criteria to
     /// search for a class member with the given Name.
     explicit MemberLookupCriteria(DeclarationName Name, 
                                   Sema::LookupNameKind NameKind,
                                   unsigned IDNS) 
-      : LookupBase(false), Name(Name), NameKind(NameKind), IDNS(IDNS) { }
+      : Kind(LK_NamedMember), Name(Name), NameKind(NameKind), IDNS(IDNS) { }
 
-    /// LookupBase - True if we are looking for a base class (whose
-    /// type is Base). If false, we are looking for a named member of
+    /// Kind - The kind of lookup we're doing.
+    /// LK_Base if we are looking for a base class (whose
+    /// type is Base). LK_NamedMember if we are looking for a named member of
     /// the class (with the name Name).
-    bool LookupBase;
+    LookupKind Kind;
 
     /// Base - The type of the base class we're searching for, if
     /// LookupBase is true.