Revert over-eager unique_ptr conversion.
This test wants to observe PPCallbacks after they have been moved into the
preprocessor. That doesn't work if the pointer has been moved away.
llvm-svn: 217481
diff --git a/clang/unittests/Frontend/FrontendActionTest.cpp b/clang/unittests/Frontend/FrontendActionTest.cpp
index bdd22bd..3171156 100644
--- a/clang/unittests/Frontend/FrontendActionTest.cpp
+++ b/clang/unittests/Frontend/FrontendActionTest.cpp
@@ -111,15 +111,15 @@
};
class TestPPCallbacksFrontendAction : public PreprocessorFrontendAction {
- std::unique_ptr<TestPPCallbacks> Callbacks;
+ TestPPCallbacks *Callbacks;
public:
- TestPPCallbacksFrontendAction(std::unique_ptr<TestPPCallbacks> C)
- : Callbacks(std::move(C)), SeenEnd(false) {}
+ TestPPCallbacksFrontendAction(TestPPCallbacks *C)
+ : Callbacks(C), SeenEnd(false) {}
void ExecuteAction() override {
Preprocessor &PP = getCompilerInstance().getPreprocessor();
- PP.addPPCallbacks(std::move(Callbacks));
+ PP.addPPCallbacks(std::unique_ptr<TestPPCallbacks>(Callbacks));
PP.EnterMainSourceFile();
}
void EndSourceFileAction() override { SeenEnd = Callbacks->SeenEnd; }
@@ -140,8 +140,8 @@
Compiler.setInvocation(Invocation);
Compiler.createDiagnostics();
- std::unique_ptr<TestPPCallbacks> Callbacks(new TestPPCallbacks);
- TestPPCallbacksFrontendAction TestAction(std::move(Callbacks));
+ TestPPCallbacks *Callbacks = new TestPPCallbacks;
+ TestPPCallbacksFrontendAction TestAction(Callbacks);
ASSERT_FALSE(Callbacks->SeenEnd);
ASSERT_FALSE(TestAction.SeenEnd);
ASSERT_TRUE(Compiler.ExecuteAction(TestAction));