Author: Fangrui Song Date: 2020-11-03T12:34:45-08:00 New Revision: 96ed6793b35e8267b0c94ebe69ae94f07024f476
URL: https://github.com/llvm/llvm-project/commit/96ed6793b35e8267b0c94ebe69ae94f07024f476 DIFF: https://github.com/llvm/llvm-project/commit/96ed6793b35e8267b0c94ebe69ae94f07024f476.diff LOG: [unittest][TrasnformerTest] Fix asan stack-use-after-return Added: Modified: clang/unittests/Tooling/TransformerTest.cpp Removed: ################################################################################ diff --git a/clang/unittests/Tooling/TransformerTest.cpp b/clang/unittests/Tooling/TransformerTest.cpp index 46f1d63752d8..1f0637446a00 100644 --- a/clang/unittests/Tooling/TransformerTest.cpp +++ b/clang/unittests/Tooling/TransformerTest.cpp @@ -126,11 +126,14 @@ class ClangRefactoringTestBase : public testing::Test { template <typename R> void testRule(R Rule, StringRef Input, StringRef Expected) { - Transformer T(std::move(Rule), consumer()); - T.registerMatchers(&MatchFinder); + Transformers.push_back( + std::make_unique<Transformer>(std::move(Rule), consumer())); + Transformers.back()->registerMatchers(&MatchFinder); compareSnippets(Expected, rewrite(Input)); } + // Transformers are referenced by MatchFinder. + std::vector<std::unique_ptr<Transformer>> Transformers; clang::ast_matchers::MatchFinder MatchFinder; // Records whether any errors occurred in individual changes. int ErrorCount = 0; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits