diff --git a/clang/lib/Analysis/ThreadSafety.cpp b/clang/lib/Analysis/ThreadSafety.cpp index 42fb0fe7dcdaa..f50c2adda4bc0 100644 --- a/clang/lib/Analysis/ThreadSafety.cpp +++ b/clang/lib/Analysis/ThreadSafety.cpp @@ -1231,25 +1231,6 @@ static const ValueDecl *getValueDecl(const Expr *Exp) { return nullptr; } -namespace { - -template -class has_arg_iterator_range { - using yes = char[1]; - using no = char[2]; - - template - static yes& test(Inner *I, decltype(I->args()) * = nullptr); - - template - static no& test(...); - -public: - static const bool value = sizeof(test(nullptr)) == sizeof(yes); -}; - -} // namespace - bool ThreadSafetyAnalyzer::inCurrentScope(const CapabilityExpr &CapE) { const threadSafety::til::SExpr *SExp = CapE.sexpr(); assert(SExp && "Null expressions should be ignored");