summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/ExecutionEngine/Orc/ObjectTransformLayerTest.cpp
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2019-07-17 16:40:52 +0000
committerLang Hames <lhames@gmail.com>2019-07-17 16:40:52 +0000
commit1716454027dbef52f04dc3abbb708cb73c254318 (patch)
tree009235eedbd4e91c59616850e8b168d84d6fe06b /llvm/unittests/ExecutionEngine/Orc/ObjectTransformLayerTest.cpp
parent544315b4197034a3be8acd12cba56a75fb1f08dc (diff)
downloadbcm5719-llvm-1716454027dbef52f04dc3abbb708cb73c254318.tar.gz
bcm5719-llvm-1716454027dbef52f04dc3abbb708cb73c254318.zip
[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
Diffstat (limited to 'llvm/unittests/ExecutionEngine/Orc/ObjectTransformLayerTest.cpp')
-rw-r--r--llvm/unittests/ExecutionEngine/Orc/ObjectTransformLayerTest.cpp33
1 files changed, 19 insertions, 14 deletions
diff --git a/llvm/unittests/ExecutionEngine/Orc/ObjectTransformLayerTest.cpp b/llvm/unittests/ExecutionEngine/Orc/ObjectTransformLayerTest.cpp
index 2b6b5a7670d..2ff7e91a732 100644
--- a/llvm/unittests/ExecutionEngine/Orc/ObjectTransformLayerTest.cpp
+++ b/llvm/unittests/ExecutionEngine/Orc/ObjectTransformLayerTest.cpp
@@ -182,17 +182,19 @@ TEST(LegacyObjectTransformLayerTest, Main) {
// Create one object transform layer using a transform (as a functor)
// that allocates new objects, and deals in unique pointers.
- LegacyObjectTransformLayer<MockBaseLayer, AllocatingTransform> T1(M);
+ LegacyObjectTransformLayer<MockBaseLayer, AllocatingTransform> T1(
+ llvm::AcknowledgeORCv1Deprecation, M);
// Create a second object transform layer using a transform (as a lambda)
// that mutates objects in place, and deals in naked pointers
LegacyObjectTransformLayer<MockBaseLayer,
- std::function<std::shared_ptr<MockObjectFile>(
- std::shared_ptr<MockObjectFile>)>>
- T2(M, [](std::shared_ptr<MockObjectFile> Obj) {
- ++(*Obj);
- return Obj;
- });
+ std::function<std::shared_ptr<MockObjectFile>(
+ std::shared_ptr<MockObjectFile>)>>
+ T2(llvm::AcknowledgeORCv1Deprecation, M,
+ [](std::shared_ptr<MockObjectFile> Obj) {
+ ++(*Obj);
+ return Obj;
+ });
// Test addObject with T1 (allocating)
auto K1 = ES.allocateVModule();
@@ -281,22 +283,25 @@ TEST(LegacyObjectTransformLayerTest, Main) {
};
// Construct the jit layers.
- LegacyRTDyldObjectLinkingLayer BaseLayer(ES, [](VModuleKey) {
- return LegacyRTDyldObjectLinkingLayer::Resources{
- std::make_shared<llvm::SectionMemoryManager>(),
- std::make_shared<NullResolver>()};
- });
+ LegacyRTDyldObjectLinkingLayer BaseLayer(
+ llvm::AcknowledgeORCv1Deprecation, ES, [](VModuleKey) {
+ return LegacyRTDyldObjectLinkingLayer::Resources{
+ std::make_shared<llvm::SectionMemoryManager>(),
+ std::make_shared<NullResolver>()};
+ });
auto IdentityTransform = [](std::unique_ptr<llvm::MemoryBuffer> Obj) {
return Obj;
};
LegacyObjectTransformLayer<decltype(BaseLayer), decltype(IdentityTransform)>
- TransformLayer(BaseLayer, IdentityTransform);
+ TransformLayer(llvm::AcknowledgeORCv1Deprecation, BaseLayer,
+ IdentityTransform);
auto NullCompiler = [](llvm::Module &) {
return std::unique_ptr<llvm::MemoryBuffer>(nullptr);
};
LegacyIRCompileLayer<decltype(TransformLayer), decltype(NullCompiler)>
- CompileLayer(TransformLayer, NullCompiler);
+ CompileLayer(llvm::AcknowledgeORCv1Deprecation, TransformLayer,
+ NullCompiler);
// Make sure that the calls from LegacyIRCompileLayer to LegacyObjectTransformLayer
// compile.
OpenPOWER on IntegriCloud