1*67e74705SXin Li // RUN: %clang_cc1 %s -triple=x86_64-pc-linux -fvisibility hidden -emit-llvm -O1 -disable-llvm-optzns -o - | FileCheck %s 2*67e74705SXin Li 3*67e74705SXin Li struct Filter { 4*67e74705SXin Li virtual void Foo(); 5*67e74705SXin Li }; 6*67e74705SXin Li struct Sender { 7*67e74705SXin Li virtual bool Send(); 8*67e74705SXin Li }; 9*67e74705SXin Li struct SyncMessageFilter : public Filter, public Sender { 10*67e74705SXin Li bool Send(); 11*67e74705SXin Li }; 12*67e74705SXin Li struct TestSyncMessageFilter : public SyncMessageFilter { 13*67e74705SXin Li }; bar()14*67e74705SXin Livoid bar() { 15*67e74705SXin Li TestSyncMessageFilter f; 16*67e74705SXin Li f.Send(); 17*67e74705SXin Li } 18*67e74705SXin Li 19*67e74705SXin Li // Test that it is not hidden 20*67e74705SXin Li // CHECK: define available_externally zeroext i1 @_ZThn8_N17SyncMessageFilter4SendEv 21