From 62a56f39b7c5587a1b2144880500689bea5f32e4 Mon Sep 17 00:00:00 2001 From: David Blaikie Date: Thu, 17 Jul 2014 22:34:12 +0000 Subject: Revert "unique_ptr-ify ownership of ASTConsumers" This reverts commit r213307. Reverting to have some on-list discussion/confirmation about the ongoing direction of smart pointer usage in the LLVM project. llvm-svn: 213325 --- clang/unittests/Tooling/ToolingTest.cpp | 50 +++++++++++++++------------------ 1 file changed, 22 insertions(+), 28 deletions(-) (limited to 'clang/unittests/Tooling/ToolingTest.cpp') diff --git a/clang/unittests/Tooling/ToolingTest.cpp b/clang/unittests/Tooling/ToolingTest.cpp index 85ab942387b..9aede044f69 100644 --- a/clang/unittests/Tooling/ToolingTest.cpp +++ b/clang/unittests/Tooling/ToolingTest.cpp @@ -28,20 +28,20 @@ namespace { /// Takes an ast consumer and returns it from CreateASTConsumer. This only /// works with single translation unit compilations. class TestAction : public clang::ASTFrontendAction { -public: + public: /// Takes ownership of TestConsumer. - explicit TestAction(std::unique_ptr TestConsumer) - : TestConsumer(std::move(TestConsumer)) {} + explicit TestAction(clang::ASTConsumer *TestConsumer) + : TestConsumer(TestConsumer) {} -protected: - virtual std::unique_ptr - CreateASTConsumer(clang::CompilerInstance &compiler, StringRef dummy) { + protected: + virtual clang::ASTConsumer* CreateASTConsumer( + clang::CompilerInstance& compiler, StringRef dummy) { /// TestConsumer will be deleted by the framework calling us. - return std::move(TestConsumer); + return TestConsumer; } -private: - std::unique_ptr TestConsumer; + private: + clang::ASTConsumer * const TestConsumer; }; class FindTopLevelDeclConsumer : public clang::ASTConsumer { @@ -59,10 +59,8 @@ class FindTopLevelDeclConsumer : public clang::ASTConsumer { TEST(runToolOnCode, FindsNoTopLevelDeclOnEmptyCode) { bool FoundTopLevelDecl = false; - EXPECT_TRUE( - runToolOnCode(new TestAction(llvm::make_unique( - &FoundTopLevelDecl)), - "")); + EXPECT_TRUE(runToolOnCode( + new TestAction(new FindTopLevelDeclConsumer(&FoundTopLevelDecl)), "")); EXPECT_FALSE(FoundTopLevelDecl); } @@ -99,17 +97,13 @@ bool FindClassDeclX(ASTUnit *AST) { TEST(runToolOnCode, FindsClassDecl) { bool FoundClassDeclX = false; - EXPECT_TRUE( - runToolOnCode(new TestAction(llvm::make_unique( - &FoundClassDeclX)), - "class X;")); + EXPECT_TRUE(runToolOnCode(new TestAction( + new FindClassDeclXConsumer(&FoundClassDeclX)), "class X;")); EXPECT_TRUE(FoundClassDeclX); FoundClassDeclX = false; - EXPECT_TRUE( - runToolOnCode(new TestAction(llvm::make_unique( - &FoundClassDeclX)), - "class Y;")); + EXPECT_TRUE(runToolOnCode(new TestAction( + new FindClassDeclXConsumer(&FoundClassDeclX)), "class Y;")); EXPECT_FALSE(FoundClassDeclX); } @@ -131,8 +125,8 @@ TEST(newFrontendActionFactory, CreatesFrontendActionFactoryFromType) { } struct IndependentFrontendActionCreator { - std::unique_ptr newASTConsumer() { - return llvm::make_unique(nullptr); + ASTConsumer *newASTConsumer() { + return new FindTopLevelDeclConsumer(nullptr); } }; @@ -191,8 +185,8 @@ struct VerifyEndCallback : public SourceFileCallbacks { virtual void handleEndSource() { ++EndCalled; } - std::unique_ptr newASTConsumer() { - return llvm::make_unique(&Matched); + ASTConsumer *newASTConsumer() { + return new FindTopLevelDeclConsumer(&Matched); } unsigned BeginCalled; unsigned EndCalled; @@ -231,10 +225,10 @@ struct SkipBodyConsumer : public clang::ASTConsumer { }; struct SkipBodyAction : public clang::ASTFrontendAction { - virtual std::unique_ptr - CreateASTConsumer(CompilerInstance &Compiler, StringRef) { + virtual ASTConsumer *CreateASTConsumer(CompilerInstance &Compiler, + StringRef) { Compiler.getFrontendOpts().SkipFunctionBodies = true; - return llvm::make_unique(); + return new SkipBodyConsumer; } }; -- cgit v1.2.3