[Openmp-commits] [openmp] b9fd8f3 - [OpenMP][NFC] Add missing virtual destructor to silence warning
Johannes Doerfert via Openmp-commits
openmp-commits at lists.llvm.org
Fri Mar 25 14:01:51 PDT 2022
Author: Johannes Doerfert
Date: 2022-03-25T16:00:53-05:00
New Revision: b9fd8f34ae547674ac0b5f5fbc5bb66d2bc0fedb
URL: https://github.com/llvm/llvm-project/commit/b9fd8f34ae547674ac0b5f5fbc5bb66d2bc0fedb
DIFF: https://github.com/llvm/llvm-project/commit/b9fd8f34ae547674ac0b5f5fbc5bb66d2bc0fedb.diff
LOG: [OpenMP][NFC] Add missing virtual destructor to silence warning
Added:
Modified:
llvm/unittests/Linker/LinkModulesTest.cpp
openmp/libomptarget/plugins/cuda/src/rtl.cpp
Removed:
################################################################################
diff --git a/llvm/unittests/Linker/LinkModulesTest.cpp b/llvm/unittests/Linker/LinkModulesTest.cpp
index 793c744a2df53..7a1217c8edd32 100644
--- a/llvm/unittests/Linker/LinkModulesTest.cpp
+++ b/llvm/unittests/Linker/LinkModulesTest.cpp
@@ -359,4 +359,27 @@ TEST_F(LinkModuleTest, RemangleIntrinsics) {
ASSERT_EQ(F->getNumUses(), (unsigned)2);
}
+TEST_F(LinkModuleTest, StructTypeReusedMerge) {
+ LLVMContext C;
+ SMDiagnostic Err;
+
+ const char *M1Str = "%t = type {i32}\n"
+ "%q = type {%t}\n"
+ "@t1 = weak global %q zeroinitializer\n";
+ std::unique_ptr<Module> M1 = parseAssemblyString(M1Str, Err, C);
+
+ const char *M2Str = "%t = type {i32}\n"
+ "%q = type {%t}\n"
+ "@t2 = weak global %q zeroinitializer\n";
+ std::unique_ptr<Module> M2 = parseAssemblyString(M2Str, Err, C);
+
+ Ctx.setDiagnosticHandlerCallBack(expectNoDiags);
+ Linker::linkModules(*M1, std::move(M2));
+
+ EXPECT_EQ(M1->getNamedGlobal("t1")->getType(),
+ M1->getNamedGlobal("t2")->getType());
+ EXPECT_TRUE(llvm::for_each(M1->getIdentifiedStructTypes(), [](const StructType *STy) { return STy->hasName(); }));
+
+}
+
} // end anonymous namespace
diff --git a/openmp/libomptarget/plugins/cuda/src/rtl.cpp b/openmp/libomptarget/plugins/cuda/src/rtl.cpp
index 0a6d023a7fc08..e8028855d45d1 100644
--- a/openmp/libomptarget/plugins/cuda/src/rtl.cpp
+++ b/openmp/libomptarget/plugins/cuda/src/rtl.cpp
@@ -168,6 +168,8 @@ struct DeviceDataTy {
/// accordingly. The implementation should not raise any exception.
template <typename T> struct AllocatorTy {
using ElementTy = T;
+ virtual ~AllocatorTy() {}
+
/// Create a resource and assign to R.
virtual int create(T &R) noexcept = 0;
/// Destroy the resource.
More information about the Openmp-commits
mailing list