From 71d5a2540a98c81f5bcaeb48805e0e2881f530ef Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Sun, 16 Apr 2017 16:01:22 +0000 Subject: Vendor import of llvm trunk r300422: https://llvm.org/svn/llvm-project/llvm/trunk@300422 --- unittests/IR/FunctionTest.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'unittests/IR/FunctionTest.cpp') diff --git a/unittests/IR/FunctionTest.cpp b/unittests/IR/FunctionTest.cpp index fb458597c37a..6838d7e2527f 100644 --- a/unittests/IR/FunctionTest.cpp +++ b/unittests/IR/FunctionTest.cpp @@ -8,6 +8,7 @@ //===----------------------------------------------------------------------===// #include "llvm/IR/Function.h" +#include "llvm/IR/Module.h" #include "gtest/gtest.h" using namespace llvm; @@ -109,4 +110,24 @@ TEST(FunctionTest, stealArgumentListFrom) { EXPECT_TRUE(F2->hasLazyArguments()); } +// Test setting and removing section information +TEST(FunctionTest, setSection) { + LLVMContext C; + Module M("test", C); + + llvm::Function *F = + Function::Create(llvm::FunctionType::get(llvm::Type::getVoidTy(C), false), + llvm::GlobalValue::ExternalLinkage, "F", &M); + + F->setSection(".text.test"); + EXPECT_TRUE(F->getSection() == ".text.test"); + EXPECT_TRUE(F->hasSection()); + F->setSection(""); + EXPECT_FALSE(F->hasSection()); + F->setSection(".text.test"); + F->setSection(".text.test2"); + EXPECT_TRUE(F->getSection() == ".text.test2"); + EXPECT_TRUE(F->hasSection()); +} + } // end namespace -- cgit v1.2.3