[cfe-commits] r160355 - in /cfe/trunk: include/clang/Tooling/RefactoringCallbacks.h lib/Tooling/RefactoringCallbacks.cpp unittests/Tooling/RefactoringCallbacksTest.cpp

Daniel Jasper djasper at google.com
Tue Jul 17 01:47:27 PDT 2012


And this is not fixed with r160355?


On Tue, Jul 17, 2012 at 10:45 AM, Alexander Potapenko <glider at google.com>wrote:

> Hi Daniel,
>
> this change broke ASan build on Linux x86_64:
>
> llvm[4]: Linking Release+Asserts unit test Tooling (without symbols)
> Undefined symbols for architecture x86_64:
>   "clang::ast_matchers::MatchFinder::MatchCallback::~MatchCallback()",
> referenced from:
>
> clang::ast_matchers::RefactoringCallbacksTest_ReplacesStmtsWithString_Test::TestBody()
> in RefactoringCallbacksTest.o
>
> clang::ast_matchers::RefactoringCallbacksTest_ReplacesStmtsInCalledMacros_Test::TestBody()
> in RefactoringCallbacksTest.o
>
> clang::ast_matchers::RefactoringCallbacksTest_IgnoresStmtsInUncalledMacros_Test::TestBody()
> in RefactoringCallbacksTest.o
>
> clang::ast_matchers::RefactoringCallbacksTest_ReplacesInteger_Test::TestBody()
> in RefactoringCallbacksTest.o
>
> clang::ast_matchers::RefactoringCallbacksTest_ReplacesStmtWithStmt_Test::TestBody()
> in RefactoringCallbacksTest.o
>
> clang::ast_matchers::RefactoringCallbacksTest_ReplacesIfStmt_Test::TestBody()
> in RefactoringCallbacksTest.o
>
> clang::ast_matchers::RefactoringCallbacksTest_RemovesEntireIfOnEmptyElse_Test::TestBody()
> in RefactoringCallbacksTest.o
>       ...
>   "clang::ast_matchers::MatchFinder::MatchFinder()", referenced from:
>       void
> clang::ast_matchers::expectRewritten<clang::ast_matchers::internal::Matcher<clang::Stmt>
> >(std::string const&, std::string const&,
> clang::ast_matchers::internal::Matcher<clang::Stmt> const&,
> clang::ast_matchers::RefactoringCallback&) in
> RefactoringCallbacksTest.o
>
> "clang::ast_matchers::MatchFinder::addMatcher(clang::ast_matchers::internal::Matcher<clang::Stmt>
> const&, clang::ast_matchers::MatchFinder::MatchCallback*)", referenced
> from:
>       void
> clang::ast_matchers::expectRewritten<clang::ast_matchers::internal::Matcher<clang::Stmt>
> >(std::string const&, std::string const&,
> clang::ast_matchers::internal::Matcher<clang::Stmt> const&,
> clang::ast_matchers::RefactoringCallback&) in
> RefactoringCallbacksTest.o
>   "clang::ast_matchers::MatchFinder::~MatchFinder()", referenced from:
>       void
> clang::ast_matchers::expectRewritten<clang::ast_matchers::internal::Matcher<clang::Stmt>
> >(std::string const&, std::string const&,
> clang::ast_matchers::internal::Matcher<clang::Stmt> const&,
> clang::ast_matchers::RefactoringCallback&) in
> RefactoringCallbacksTest.o
>   "clang::ast_matchers::MatchFinder::newASTConsumer()", referenced from:
>       clang::tooling::FrontendActionFactory*
>
> clang::tooling::newFrontendActionFactory<clang::ast_matchers::MatchFinder>(clang::ast_matchers::MatchFinder*)::clang::tooling::newFrontendActionFactory<clang::ast_matchers::MatchFinder>::FrontendActionFactoryAdapter::ConsumerFactoryAdaptor::CreateASTConsumer(clang::CompilerInstance&,
> llvm::StringRef) in RefactoringCallbacksTest.o
>
> "clang::ast_matchers::internal::BoundNodesTreeBuilder::setBinding(std::string
> const&, clang::Stmt const*)", referenced from:
>
> clang::ast_matchers::internal::IdMatcher<clang::Stmt>::matches(clang::Stmt
> const&, clang::ast_matchers::internal::ASTMatchFinder*,
> clang::ast_matchers::internal::BoundNodesTreeBuilder*) const in
> RefactoringCallbacksTest.o
> ld: symbol(s) not found for architecture x86_64
>
> On Tue, Jul 17, 2012 at 12:37 PM, Daniel Jasper <djasper at google.com>
> wrote:
> > Author: djasper
> > Date: Tue Jul 17 03:37:03 2012
> > New Revision: 160355
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=160355&view=rev
> > Log:
> > Finishing the move of RefactoringCallbacks and fixing the corresponding
> > buildbot failures.
> >
> > Modified:
> >     cfe/trunk/include/clang/Tooling/RefactoringCallbacks.h
> >     cfe/trunk/lib/Tooling/RefactoringCallbacks.cpp
> >     cfe/trunk/unittests/Tooling/RefactoringCallbacksTest.cpp
> >
> > Modified: cfe/trunk/include/clang/Tooling/RefactoringCallbacks.h
> > URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Tooling/RefactoringCallbacks.h?rev=160355&r1=160354&r2=160355&view=diff
> >
> ==============================================================================
> > --- cfe/trunk/include/clang/Tooling/RefactoringCallbacks.h (original)
> > +++ cfe/trunk/include/clang/Tooling/RefactoringCallbacks.h Tue Jul 17
> 03:37:03 2012
> > @@ -33,18 +33,18 @@
> >  #include "clang/Tooling/Refactoring.h"
> >
> >  namespace clang {
> > -namespace ast_matchers {
> > +namespace tooling {
> >
> >  /// \brief Base class for RefactoringCallbacks.
> >  ///
> >  /// Collects \c tooling::Replacements while running.
> > -class RefactoringCallback : public MatchFinder::MatchCallback {
> > +class RefactoringCallback : public
> ast_matchers::MatchFinder::MatchCallback {
> >  public:
> >    RefactoringCallback();
> > -  tooling::Replacements &getReplacements();
> > +  Replacements &getReplacements();
> >
> >  protected:
> > -  tooling::Replacements Replace;
> > +  Replacements Replace;
> >  };
> >
> >  /// \brief Replace the text of the statement bound to \c FromId with
> the text in
> > @@ -52,7 +52,7 @@
> >  class ReplaceStmtWithText : public RefactoringCallback {
> >  public:
> >    ReplaceStmtWithText(StringRef FromId, StringRef ToText);
> > -  virtual void run(const MatchFinder::MatchResult &Result);
> > +  virtual void run(const ast_matchers::MatchFinder::MatchResult
> &Result);
> >
> >  private:
> >    std::string FromId;
> > @@ -64,7 +64,7 @@
> >  class ReplaceStmtWithStmt : public RefactoringCallback {
> >  public:
> >    ReplaceStmtWithStmt(StringRef FromId, StringRef ToId);
> > -  virtual void run(const MatchFinder::MatchResult &Result);
> > +  virtual void run(const ast_matchers::MatchFinder::MatchResult
> &Result);
> >
> >  private:
> >    std::string FromId;
> > @@ -77,14 +77,14 @@
> >  class ReplaceIfStmtWithItsBody : public RefactoringCallback {
> >  public:
> >    ReplaceIfStmtWithItsBody(StringRef Id, bool PickTrueBranch);
> > -  virtual void run(const MatchFinder::MatchResult &Result);
> > +  virtual void run(const ast_matchers::MatchFinder::MatchResult
> &Result);
> >
> >  private:
> >    std::string Id;
> >    const bool PickTrueBranch;
> >  };
> >
> > -} // end namespace ast_matchers
> > +} // end namespace tooling
> >  } // end namespace clang
> >
> >  #endif // LLVM_CLANG_TOOLING_REFACTORING_CALLBACKS_H
> >
> > Modified: cfe/trunk/lib/Tooling/RefactoringCallbacks.cpp
> > URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Tooling/RefactoringCallbacks.cpp?rev=160355&r1=160354&r2=160355&view=diff
> >
> ==============================================================================
> > --- cfe/trunk/lib/Tooling/RefactoringCallbacks.cpp (original)
> > +++ cfe/trunk/lib/Tooling/RefactoringCallbacks.cpp Tue Jul 17 03:37:03
> 2012
> > @@ -13,22 +13,22 @@
> >  #include "clang/Tooling/RefactoringCallbacks.h"
> >
> >  namespace clang {
> > -namespace ast_matchers {
> > +namespace tooling {
> >
> >  RefactoringCallback::RefactoringCallback() {}
> >  tooling::Replacements &RefactoringCallback::getReplacements() {
> >    return Replace;
> >  }
> >
> > -static tooling::Replacement replaceStmtWithText(SourceManager &Sources,
> > -                                                const Stmt &From,
> > -                                                StringRef Text) {
> > +static Replacement replaceStmtWithText(SourceManager &Sources,
> > +                                       const Stmt &From,
> > +                                       StringRef Text) {
> >    return tooling::Replacement(Sources, CharSourceRange::getTokenRange(
> >        From.getSourceRange()), Text);
> >  }
> > -static tooling::Replacement replaceStmtWithStmt(SourceManager &Sources,
> > -                                                const Stmt &From,
> > -                                                const Stmt &To) {
> > +static Replacement replaceStmtWithStmt(SourceManager &Sources,
> > +                                       const Stmt &From,
> > +                                       const Stmt &To) {
> >    return replaceStmtWithText(Sources, From, Lexer::getSourceText(
> >        CharSourceRange::getTokenRange(To.getSourceRange()),
> >        Sources, LangOptions()));
> > @@ -37,7 +37,8 @@
> >  ReplaceStmtWithText::ReplaceStmtWithText(StringRef FromId, StringRef
> ToText)
> >      : FromId(FromId), ToText(ToText) {}
> >
> > -void ReplaceStmtWithText::run(const MatchFinder::MatchResult &Result) {
> > +void ReplaceStmtWithText::run(
> > +    const ast_matchers::MatchFinder::MatchResult &Result) {
> >    if (const Stmt *FromMatch = Result.Nodes.getStmtAs<Stmt>(FromId)) {
> >      Replace.insert(tooling::Replacement(
> >          *Result.SourceManager,
> > @@ -49,7 +50,8 @@
> >  ReplaceStmtWithStmt::ReplaceStmtWithStmt(StringRef FromId, StringRef
> ToId)
> >      : FromId(FromId), ToId(ToId) {}
> >
> > -void ReplaceStmtWithStmt::run(const MatchFinder::MatchResult &Result) {
> > +void ReplaceStmtWithStmt::run(
> > +    const ast_matchers::MatchFinder::MatchResult &Result) {
> >    const Stmt *FromMatch = Result.Nodes.getStmtAs<Stmt>(FromId);
> >    const Stmt *ToMatch = Result.Nodes.getStmtAs<Stmt>(ToId);
> >    if (FromMatch && ToMatch)
> > @@ -61,7 +63,8 @@
> >                                                     bool PickTrueBranch)
> >      : Id(Id), PickTrueBranch(PickTrueBranch) {}
> >
> > -void ReplaceIfStmtWithItsBody::run(const MatchFinder::MatchResult
> &Result) {
> > +void ReplaceIfStmtWithItsBody::run(
> > +    const ast_matchers::MatchFinder::MatchResult &Result) {
> >    if (const IfStmt *Node = Result.Nodes.getStmtAs<IfStmt>(Id)) {
> >      const Stmt *Body = PickTrueBranch ? Node->getThen() :
> Node->getElse();
> >      if (Body) {
> > @@ -74,5 +77,5 @@
> >    }
> >  }
> >
> > -} // end namespace ast_matchers
> > +} // end namespace tooling
> >  } // end namespace clang
> >
> > Modified: cfe/trunk/unittests/Tooling/RefactoringCallbacksTest.cpp
> > URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Tooling/RefactoringCallbacksTest.cpp?rev=160355&r1=160354&r2=160355&view=diff
> >
> ==============================================================================
> > --- cfe/trunk/unittests/Tooling/RefactoringCallbacksTest.cpp (original)
> > +++ cfe/trunk/unittests/Tooling/RefactoringCallbacksTest.cpp Tue Jul 17
> 03:37:03 2012
> > @@ -14,7 +14,9 @@
> >  #include "RewriterTestContext.h"
> >
> >  namespace clang {
> > -namespace ast_matchers {
> > +namespace tooling {
> > +
> > +using namespace ast_matchers;
> >
> >  template <typename T>
> >  void expectRewritten(const std::string &Code,
> >
> >
> > _______________________________________________
> > cfe-commits mailing list
> > cfe-commits at cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>
>
>
> --
> Alexander Potapenko
> Software Engineer
> Google Moscow
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20120717/7c008b34/attachment.html>


More information about the cfe-commits mailing list