2013-12-14 06:43:52 +08:00
|
|
|
// RUN: %clang_cc1 %s -emit-llvm -cxx-abi itanium -o - | FileCheck %s
|
2010-10-19 05:28:44 +08:00
|
|
|
|
|
|
|
// CHECK: @_ZTVZ3foovEN1C1DE =
|
|
|
|
// CHECK: @_ZTVZN1A3fooEiE1B =
|
|
|
|
// 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();
|
|
|
|
}
|