// RUN: %clang_cc1 %s -emit-llvm -triple %itanium_abi_triple -o - | FileCheck %s | |
// CHECK: @_ZTVZN1A3fooEiE1B = | |
// CHECK: @_ZTVZ3foovEN1C1DE = | |
// CHECK: define {{.*}} @_ZZZ3foovEN1C3barEvEN1E3bazEv( | |
// Itanium C++ ABI examples. | |
struct A { | |
void foo (int) { | |
struct B { virtual ~B() {} }; | |
B(); | |
} | |
}; | |
void foo () { | |
struct C { | |
struct D { virtual ~D() {} }; | |
void bar () { | |
struct E { | |
void baz() { } | |
}; | |
E().baz(); | |
} | |
}; | |
A().foo(0); | |
C::D(); | |
C().bar(); | |
} |