This marks virtual function declarations, as well as runtime library functions __cxa_pure_virtual, __cxa_deleted_virtual and _purecall, as unnamed_addr. This will allow us to correctly form relative references to them from vtables in the relative vtable ABI. Differential Revision: http://reviews.llvm.org/D18071 llvm-svn: 263464
15 lines
398 B
C++
15 lines
398 B
C++
// RUN: %clang_cc1 %s -triple %itanium_abi_triple -std=c++11 -emit-llvm -o - | FileCheck %s
|
|
|
|
class A {
|
|
virtual void f();
|
|
virtual void g();
|
|
virtual ~A();
|
|
};
|
|
|
|
void A::f() {}
|
|
|
|
// CHECK: define void @_ZN1A1fEv({{.*}}) unnamed_addr
|
|
// CHECK: declare void @_ZN1A1gEv({{.*}}) unnamed_addr
|
|
// CHECK: declare void @_ZN1AD1Ev({{.*}}) unnamed_addr
|
|
// CHECK: declare void @_ZN1AD0Ev({{.*}}) unnamed_addr
|