[clang] clang serialization unittests: fix some leaks (PR #82773)
via cfe-commits
cfe-commits at lists.llvm.org
Fri Feb 23 07:14:35 PST 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang
Author: Krasimir Georgiev (krasimirgg)
<details>
<summary>Changes</summary>
No functional changes intended.
Fixes some leaks found by running under asan with `--gtest_repeat=2`.
---
Full diff: https://github.com/llvm/llvm-project/pull/82773.diff
2 Files Affected:
- (modified) clang/unittests/Serialization/ModuleCacheTest.cpp (+14-4)
- (modified) clang/unittests/Serialization/VarDeclConstantInitTest.cpp (+1)
``````````diff
diff --git a/clang/unittests/Serialization/ModuleCacheTest.cpp b/clang/unittests/Serialization/ModuleCacheTest.cpp
index c3e347ffec660c..76aeee60f5a435 100644
--- a/clang/unittests/Serialization/ModuleCacheTest.cpp
+++ b/clang/unittests/Serialization/ModuleCacheTest.cpp
@@ -88,6 +88,16 @@ class ModuleCacheTest : public ::testing::Test {
}
)cpp");
}
+
+ std::unique_ptr<CompilerInvocation> createInvocationAndEnableFree(
+ ArrayRef<const char *> Args, CreateInvocationOptions Opts) {
+ std::unique_ptr<CompilerInvocation> Invocation =
+ createInvocation(Args, Opts);
+ if (Invocation)
+ Invocation->getFrontendOpts().DisableFree = false;
+
+ return Invocation;
+ }
};
TEST_F(ModuleCacheTest, CachedModuleNewPath) {
@@ -106,7 +116,7 @@ TEST_F(ModuleCacheTest, CachedModuleNewPath) {
MCPArg.c_str(), "-working-directory", TestDir.c_str(),
"test.m"};
std::shared_ptr<CompilerInvocation> Invocation =
- createInvocation(Args, CIOpts);
+ createInvocationAndEnableFree(Args, CIOpts);
ASSERT_TRUE(Invocation);
CompilerInstance Instance;
Instance.setDiagnostics(Diags.get());
@@ -129,7 +139,7 @@ TEST_F(ModuleCacheTest, CachedModuleNewPath) {
"-Fframeworks", MCPArg.c_str(), "-working-directory",
TestDir.c_str(), "test.m"};
std::shared_ptr<CompilerInvocation> Invocation2 =
- createInvocation(Args2, CIOpts);
+ createInvocationAndEnableFree(Args2, CIOpts);
ASSERT_TRUE(Invocation2);
CompilerInstance Instance2(Instance.getPCHContainerOperations(),
&Instance.getModuleCache());
@@ -156,7 +166,7 @@ TEST_F(ModuleCacheTest, CachedModuleNewPathAllowErrors) {
MCPArg.c_str(), "-working-directory", TestDir.c_str(),
"test.m"};
std::shared_ptr<CompilerInvocation> Invocation =
- createInvocation(Args, CIOpts);
+ createInvocationAndEnableFree(Args, CIOpts);
ASSERT_TRUE(Invocation);
CompilerInstance Instance;
Instance.setDiagnostics(Diags.get());
@@ -173,7 +183,7 @@ TEST_F(ModuleCacheTest, CachedModuleNewPathAllowErrors) {
TestDir.c_str(), "-Xclang", "-fallow-pcm-with-compiler-errors",
"test.m"};
std::shared_ptr<CompilerInvocation> Invocation2 =
- createInvocation(Args2, CIOpts);
+ createInvocationAndEnableFree(Args2, CIOpts);
ASSERT_TRUE(Invocation2);
CompilerInstance Instance2(Instance.getPCHContainerOperations(),
&Instance.getModuleCache());
diff --git a/clang/unittests/Serialization/VarDeclConstantInitTest.cpp b/clang/unittests/Serialization/VarDeclConstantInitTest.cpp
index 86ae929e7f17e4..7efa1c1d64a964 100644
--- a/clang/unittests/Serialization/VarDeclConstantInitTest.cpp
+++ b/clang/unittests/Serialization/VarDeclConstantInitTest.cpp
@@ -103,6 +103,7 @@ export namespace Fibonacci
std::shared_ptr<CompilerInvocation> Invocation =
createInvocation(Args, CIOpts);
ASSERT_TRUE(Invocation);
+ Invocation->getFrontendOpts().DisableFree = false;
CompilerInstance Instance;
Instance.setDiagnostics(Diags.get());
``````````
</details>
https://github.com/llvm/llvm-project/pull/82773
More information about the cfe-commits
mailing list