blob: 832956fb982eab9a9b4c13201ed38e59eaaf5952 [file] [log] [blame]
Hans Wennborgc9bd88e2014-01-14 19:35:09 +00001// RUN: %clang_cc1 %s -emit-llvm -triple %itanium_abi_triple -o - | FileCheck %s
John McCall18e4eda2010-10-18 21:28:44 +00002
John McCall18e4eda2010-10-18 21:28:44 +00003// CHECK: @_ZTVZN1A3fooEiE1B =
Rafael Espindolae5df59f2015-01-22 00:24:57 +00004// CHECK: @_ZTVZ3foovEN1C1DE =
John McCall18e4eda2010-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}