diff options
| -rw-r--r-- | clang/lib/Sema/AnalysisBasedWarnings.cpp | 15 | ||||
| -rw-r--r-- | clang/lib/Sema/SemaCodeComplete.cpp | 11 | 
2 files changed, 13 insertions, 13 deletions
diff --git a/clang/lib/Sema/AnalysisBasedWarnings.cpp b/clang/lib/Sema/AnalysisBasedWarnings.cpp index d6e2fd235e6..af404a5782e 100644 --- a/clang/lib/Sema/AnalysisBasedWarnings.cpp +++ b/clang/lib/Sema/AnalysisBasedWarnings.cpp @@ -1154,7 +1154,7 @@ struct SLocSort {  class UninitValsDiagReporter : public UninitVariablesHandler {    Sema &S;    typedef SmallVector<UninitUse, 2> UsesVec; -  typedef std::pair<UsesVec*, bool> MappedType; +  typedef llvm::PointerIntPair<UsesVec *, 1, bool> MappedType;    // Prefer using MapVector to DenseMap, so that iteration order will be    // the same as insertion order. This is needed to obtain a deterministic    // order of diagnostics when calling flushDiagnostics(). @@ -1172,19 +1172,18 @@ public:        uses = new UsesMap();      MappedType &V = (*uses)[vd]; -    UsesVec *&vec = V.first; -    if (!vec) -      vec = new UsesVec(); +    if (!V.getPointer()) +      V.setPointer(new UsesVec());      return V;    }    void handleUseOfUninitVariable(const VarDecl *vd, const UninitUse &use) { -    getUses(vd).first->push_back(use); +    getUses(vd).getPointer()->push_back(use);    }    void handleSelfInit(const VarDecl *vd) { -    getUses(vd).second = true;     +    getUses(vd).setInt(true);    }    void flushDiagnostics() { @@ -1195,8 +1194,8 @@ public:        const VarDecl *vd = i->first;        const MappedType &V = i->second; -      UsesVec *vec = V.first; -      bool hasSelfInit = V.second; +      UsesVec *vec = V.getPointer(); +      bool hasSelfInit = V.getInt();        // Specially handle the case where we have uses of an uninitialized         // variable, but the root cause is an idiomatic self-init.  We want diff --git a/clang/lib/Sema/SemaCodeComplete.cpp b/clang/lib/Sema/SemaCodeComplete.cpp index 1fbdf532fe9..b46392b1de3 100644 --- a/clang/lib/Sema/SemaCodeComplete.cpp +++ b/clang/lib/Sema/SemaCodeComplete.cpp @@ -6112,8 +6112,8 @@ void Sema::CodeCompleteObjCPropertySynthesizeIvar(Scope *S,  // Mapping from selectors to the methods that implement that selector, along  // with the "in original class" flag. -typedef llvm::DenseMap<Selector, std::pair<ObjCMethodDecl *, bool> >  -  KnownMethodsMap; +typedef llvm::DenseMap< +    Selector, llvm::PointerIntPair<ObjCMethodDecl *, 1, bool> > KnownMethodsMap;  /// \brief Find all of the methods that reside in the given container  /// (and its superclasses, protocols, etc.) that meet the given @@ -6202,7 +6202,8 @@ static void FindImplementableMethods(ASTContext &Context,            !Context.hasSameUnqualifiedType(ReturnType, M->getResultType()))          continue; -      KnownMethods[M->getSelector()] = std::make_pair(*M, InOriginalClass); +      KnownMethods[M->getSelector()] = +          KnownMethodsMap::mapped_type(*M, InOriginalClass);      }    }  } @@ -6916,7 +6917,7 @@ void Sema::CodeCompleteObjCMethodDecl(Scope *S,    for (KnownMethodsMap::iterator M = KnownMethods.begin(),                                 MEnd = KnownMethods.end();         M != MEnd; ++M) { -    ObjCMethodDecl *Method = M->second.first; +    ObjCMethodDecl *Method = M->second.getPointer();      CodeCompletionBuilder Builder(Results.getAllocator(),                                    Results.getCodeCompletionTUInfo()); @@ -6984,7 +6985,7 @@ void Sema::CodeCompleteObjCMethodDecl(Scope *S,      }      unsigned Priority = CCP_CodePattern; -    if (!M->second.second) +    if (!M->second.getInt())        Priority += CCD_InBaseClass;      Results.AddResult(Result(Builder.TakeString(), Method, Priority));  | 

