1 //===- LazyEmittingLayerTest.cpp - Unit tests for the lazy emitting layer -===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 #include "llvm/ExecutionEngine/Orc/LazyEmittingLayer.h" 11 #include "gtest/gtest.h" 12 13 namespace { 14 15 struct MockBaseLayer { 16 typedef int ModuleSetHandleT; addModuleSet__anon0089d6f80111::MockBaseLayer17 ModuleSetHandleT addModuleSet( 18 std::list<std::unique_ptr<llvm::Module>>, 19 std::unique_ptr<llvm::RuntimeDyld::MemoryManager> MemMgr, 20 std::unique_ptr<llvm::RuntimeDyld::SymbolResolver> Resolver) { 21 EXPECT_FALSE(MemMgr); 22 return 42; 23 } 24 }; 25 TEST(LazyEmittingLayerTest,Empty)26TEST(LazyEmittingLayerTest, Empty) { 27 MockBaseLayer M; 28 llvm::orc::LazyEmittingLayer<MockBaseLayer> L(M); 29 L.addModuleSet(std::list<std::unique_ptr<llvm::Module>>(), nullptr, nullptr); 30 } 31 32 } 33