1 // RUN: %clang_cc1 %s -emit-llvm -triple %itanium_abi_triple -o - | FileCheck %s 2 3 // CHECK: @_ZTVZ3foovEN1C1DE = 4 // CHECK: @_ZTVZN1A3fooEiE1B = 5 // CHECK: define {{.*}} @_ZZZ3foovEN1C3barEvEN1E3bazEv( 6 7 // Itanium C++ ABI examples. 8 struct A { 9 void foo (int) { 10 struct B { virtual ~B() {} }; 11 B(); 12 } 13 }; 14 void 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 } 28