Rafael Espindola d6e669458c Set the linkage before setting the visibility.
Otherwise the visibility setting code would not know that a given
function was available_externally.

Fixes PR24097.

llvm-svn: 242012
2015-07-13 06:07:58 +00:00

21 lines
513 B
C++

// RUN: %clang_cc1 %s -triple=x86_64-pc-linux -fvisibility hidden -emit-llvm -O1 -disable-llvm-optzns -o - | FileCheck %s
struct Filter {
virtual void Foo();
};
struct Sender {
virtual bool Send();
};
struct SyncMessageFilter : public Filter, public Sender {
bool Send();
};
struct TestSyncMessageFilter : public SyncMessageFilter {
};
void bar() {
TestSyncMessageFilter f;
f.Send();
}
// Test that it is not hidden
// CHECK: define available_externally zeroext i1 @_ZThn8_N17SyncMessageFilter4SendEv