]> granicus.if.org Git - clang/commitdiff
Revert over-eager unique_ptr conversion.
authorBenjamin Kramer <benny.kra@googlemail.com>
Wed, 10 Sep 2014 09:35:49 +0000 (09:35 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Wed, 10 Sep 2014 09:35:49 +0000 (09:35 +0000)
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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@217481 91177308-0d34-0410-b5e6-96231b3b80d8

unittests/Frontend/FrontendActionTest.cpp

index bdd22bd1810f0e46a191de4773361022fbe43420..31711566921c6df4ffc9501d0664820bf5570f36 100644 (file)
@@ -111,15 +111,15 @@ struct TestPPCallbacks : public PPCallbacks {
 };
 
 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 @@ TEST(PreprocessorFrontendAction, EndSourceFile) {
   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));