From 21ab24edfb4f2433d4b17656df6fdaf7edcdf290 Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Wed, 30 Jul 2014 15:31:21 +0000 Subject: [PATCH] Add a small test showing when a linkonce_odr symbol can be hidden. llvm-svn: 214311 --- llvm/test/tools/gold/emit-llvm.ll | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/llvm/test/tools/gold/emit-llvm.ll b/llvm/test/tools/gold/emit-llvm.ll index e7b2daa..e4ba46f 100644 --- a/llvm/test/tools/gold/emit-llvm.ll +++ b/llvm/test/tools/gold/emit-llvm.ll @@ -17,14 +17,37 @@ target triple = "x86_64-unknown-linux-gnu" -; CHECK: define internal void @f() -define hidden void @f() { +; CHECK: define internal void @f1() +define hidden void @f1() { ret void } -; CHECK: define hidden void @g() -define hidden void @g() { +; CHECK: define hidden void @f2() +define hidden void @f2() { ret void } -@llvm.used = appending global [1 x i8*] [ i8* bitcast (void ()* @g to i8*)] +@llvm.used = appending global [1 x i8*] [ i8* bitcast (void ()* @f2 to i8*)] + +; CHECK: define void @f3() +define void @f3() { + call void @f4() + ret void +} + +; CHECK: define internal void @f4() +define linkonce_odr void @f4() { + ret void +} + +; CHECK: define linkonce_odr void @f5() +define linkonce_odr void @f5() { + ret void +} +@g5 = global void()* @f5 + +; CHECK: define internal void @f6() unnamed_addr +define linkonce_odr void @f6() unnamed_addr { + ret void +} +@g6 = global void()* @f6 -- 2.7.4