blob: 832956fb982eab9a9b4c13201ed38e59eaaf5952 [file] [log] [blame]
Stephen Hines651f13c2014-04-23 16:59:28 -07001// RUN: %clang_cc1 %s -emit-llvm -triple %itanium_abi_triple -o - | FileCheck %s
John McCalldf9c8c82010-10-18 21:28:44 +00002
John McCalldf9c8c82010-10-18 21:28:44 +00003// CHECK: @_ZTVZN1A3fooEiE1B =
Stephen Hines0e2c34f2015-03-23 12:09:02 -07004// CHECK: @_ZTVZ3foovEN1C1DE =
John McCalldf9c8c82010-10-18 21:28:44 +00005// CHECK: define {{.*}} @_ZZZ3foovEN1C3barEvEN1E3bazEv(
6
7// Itanium C++ ABI examples.
8struct A {
9 void foo (int) {
10 struct B { virtual ~B() {} };
11 B();
12 }
13};
14void foo () {
15 struct C {
16 struct D { virtual ~D() {} };
17 void bar () {
18 struct E {
19 void baz() { }
20 };
21 E().baz();
22 }
23 };
24 A().foo(0);
25 C::D();
26 C().bar();
27}