1c9bd88e6SHans Wennborg // RUN: %clang_cc1 %s -emit-llvm -triple %itanium_abi_triple -o - | FileCheck %s 218e4edaeSJohn McCall 318e4edaeSJohn McCall // CHECK: @_ZTVZN1A3fooEiE1B = 4*e5df59ffSRafael Espindola // CHECK: @_ZTVZ3foovEN1C1DE = 518e4edaeSJohn McCall // CHECK: define {{.*}} @_ZZZ3foovEN1C3barEvEN1E3bazEv( 618e4edaeSJohn McCall 718e4edaeSJohn McCall // Itanium C++ ABI examples. 818e4edaeSJohn McCall struct A { fooA918e4edaeSJohn McCall void foo (int) { 1018e4edaeSJohn McCall struct B { virtual ~B() {} }; 1118e4edaeSJohn McCall B(); 1218e4edaeSJohn McCall } 1318e4edaeSJohn McCall }; foo()1418e4edaeSJohn McCallvoid foo () { 1518e4edaeSJohn McCall struct C { 1618e4edaeSJohn McCall struct D { virtual ~D() {} }; 1718e4edaeSJohn McCall void bar () { 1818e4edaeSJohn McCall struct E { 1918e4edaeSJohn McCall void baz() { } 2018e4edaeSJohn McCall }; 2118e4edaeSJohn McCall E().baz(); 2218e4edaeSJohn McCall } 2318e4edaeSJohn McCall }; 2418e4edaeSJohn McCall A().foo(0); 2518e4edaeSJohn McCall C::D(); 2618e4edaeSJohn McCall C().bar(); 2718e4edaeSJohn McCall } 28