On Mon, Feb 22, 2016 at 1:13 PM, Samuel Benzaquen via cfe-commits <cfe-commits@lists.llvm.org> wrote: > Author: sbenza > Date: Mon Feb 22 15:13:02 2016 > New Revision: 261574 > > URL: http://llvm.org/viewvc/llvm-project?rev=261574&view=rev > Log: > [ASTMatchers] Add matcher hasAnyName. > > Summary: Add matcher hasAnyName as an optimization over anyOf(hasName(),...) > > Reviewers: alexfh > > Subscribers: klimek, cfe-commits > > Differential Revision: http://reviews.llvm.org/D17163
I've tried to fix the Visual Studio build in r261583. Please take a look to make sure the fixes seem reasonable. > +++ cfe/trunk/include/clang/ASTMatchers/ASTMatchers.h Mon Feb 22 15:13:02 2016 > @@ -1844,11 +1844,24 @@ inline internal::Matcher<Stmt> sizeOfExp > /// \code > /// namespace a { namespace b { class X; } } > /// \endcode > -inline internal::Matcher<NamedDecl> hasName(std::string Name) { > - return internal::Matcher<NamedDecl>( > - new internal::HasNameMatcher(std::move(Name))); > +inline internal::Matcher<NamedDecl> hasName(const std::string &Name) { > + return internal::Matcher<NamedDecl>(new internal::HasNameMatcher({Name})); That doesn't compile with Visual Studio 2013: C:\b\build\slave\ClangToTWin\build\src\third_party\llvm\tools\clang\include\clang/ASTMatchers/ASTMatchers.h(1848) : error C2440: 'initializing' : cannot convert from 'initializer-list' to 'clang::ast_matchers::internal::HasNameMatcher' Constructor for class 'clang::ast_matchers::internal::HasNameMatcher' is declared 'explicit' > +private: > + struct Pattern { > + StringRef Pattern; C:\b\build\slave\ClangToTWin\build\src\third_party\llvm\tools\clang\lib\ASTMatchers\ASTMatchersInternal.cpp(394) : error C2380: type(s) preceding 'Pattern' (constructor with return type, or illegal redefinition of current class-name?) _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits