[ORC] Add deprecation warnings to ORCv1 layers and utilities.
Summary:
ORCv1 is deprecated. The current aim is to remove it before the LLVM 10.0
release. This patch adds deprecation attributes to the ORCv1 layers and
utilities to warn clients of the change.
Reviewers: dblaikie, sgraenitz, AlexDenisov
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D64609
llvm-svn: 366344
diff --git a/llvm/unittests/ExecutionEngine/Orc/LegacyRTDyldObjectLinkingLayerTest.cpp b/llvm/unittests/ExecutionEngine/Orc/LegacyRTDyldObjectLinkingLayerTest.cpp
index 04b6f21..001019d 100644
--- a/llvm/unittests/ExecutionEngine/Orc/LegacyRTDyldObjectLinkingLayerTest.cpp
+++ b/llvm/unittests/ExecutionEngine/Orc/LegacyRTDyldObjectLinkingLayerTest.cpp
@@ -68,10 +68,11 @@
ExecutionSession ES;
- LegacyRTDyldObjectLinkingLayer ObjLayer(ES, [&MM](VModuleKey) {
- return LegacyRTDyldObjectLinkingLayer::Resources{
- MM, std::make_shared<NullResolver>()};
- });
+ LegacyRTDyldObjectLinkingLayer ObjLayer(
+ AcknowledgeORCv1Deprecation, ES, [&MM](VModuleKey) {
+ return LegacyRTDyldObjectLinkingLayer::Resources{
+ MM, std::make_shared<NullResolver>()};
+ });
LLVMContext Context;
auto M = llvm::make_unique<Module>("", Context);
@@ -130,13 +131,14 @@
std::map<orc::VModuleKey, std::shared_ptr<orc::SymbolResolver>> Resolvers;
- LegacyRTDyldObjectLinkingLayer ObjLayer(ES, [&](VModuleKey K) {
- auto I = Resolvers.find(K);
- assert(I != Resolvers.end() && "Missing resolver");
- auto R = std::move(I->second);
- Resolvers.erase(I);
- return LegacyRTDyldObjectLinkingLayer::Resources{MM, std::move(R)};
- });
+ LegacyRTDyldObjectLinkingLayer ObjLayer(
+ AcknowledgeORCv1Deprecation, ES, [&](VModuleKey K) {
+ auto I = Resolvers.find(K);
+ assert(I != Resolvers.end() && "Missing resolver");
+ auto R = std::move(I->second);
+ Resolvers.erase(I);
+ return LegacyRTDyldObjectLinkingLayer::Resources{MM, std::move(R)};
+ });
SimpleCompiler Compile(*TM);
// Create a pair of modules that will trigger recursive finalization:
@@ -217,10 +219,11 @@
auto MM = std::make_shared<SectionMemoryManagerWrapper>();
- LegacyRTDyldObjectLinkingLayer ObjLayer(ES, [&MM](VModuleKey K) {
- return LegacyRTDyldObjectLinkingLayer::Resources{
- MM, std::make_shared<NullResolver>()};
- });
+ LegacyRTDyldObjectLinkingLayer ObjLayer(
+ AcknowledgeORCv1Deprecation, ES, [&MM](VModuleKey K) {
+ return LegacyRTDyldObjectLinkingLayer::Resources{
+ MM, std::make_shared<NullResolver>()};
+ });
SimpleCompiler Compile(*TM);
// Create a pair of unrelated modules:
@@ -278,7 +281,7 @@
TEST_F(LegacyRTDyldObjectLinkingLayerExecutionTest, TestNotifyLoadedSignature) {
ExecutionSession ES;
LegacyRTDyldObjectLinkingLayer ObjLayer(
- ES,
+ AcknowledgeORCv1Deprecation, ES,
[](VModuleKey) {
return LegacyRTDyldObjectLinkingLayer::Resources{
nullptr, std::make_shared<NullResolver>()};