From 1716454027dbef52f04dc3abbb708cb73c254318 Mon Sep 17 00:00:00 2001 From: Lang Hames Date: Wed, 17 Jul 2019 16:40:52 +0000 Subject: [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 --- .../Orc/ObjectTransformLayerTest.cpp | 33 +++++++++++++--------- 1 file changed, 19 insertions(+), 14 deletions(-) (limited to 'llvm/unittests/ExecutionEngine/Orc/ObjectTransformLayerTest.cpp') 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 T1(M); + LegacyObjectTransformLayer 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( - std::shared_ptr)>> - T2(M, [](std::shared_ptr Obj) { - ++(*Obj); - return Obj; - }); + std::function( + std::shared_ptr)>> + T2(llvm::AcknowledgeORCv1Deprecation, M, + [](std::shared_ptr 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(), - std::make_shared()}; - }); + LegacyRTDyldObjectLinkingLayer BaseLayer( + llvm::AcknowledgeORCv1Deprecation, ES, [](VModuleKey) { + return LegacyRTDyldObjectLinkingLayer::Resources{ + std::make_shared(), + std::make_shared()}; + }); auto IdentityTransform = [](std::unique_ptr Obj) { return Obj; }; LegacyObjectTransformLayer - TransformLayer(BaseLayer, IdentityTransform); + TransformLayer(llvm::AcknowledgeORCv1Deprecation, BaseLayer, + IdentityTransform); auto NullCompiler = [](llvm::Module &) { return std::unique_ptr(nullptr); }; LegacyIRCompileLayer - CompileLayer(TransformLayer, NullCompiler); + CompileLayer(llvm::AcknowledgeORCv1Deprecation, TransformLayer, + NullCompiler); // Make sure that the calls from LegacyIRCompileLayer to LegacyObjectTransformLayer // compile. -- cgit v1.2.3