1 // RUN: %clang_cc1 -fms-extensions -fno-rtti -emit-llvm %s -o - -triple=i386-pc-win32 | FileCheck %s 2 3 // CHECK: @"\01??_7D@C@?1??foo@@YAXXZ@6B@" = 4 // CHECK: @"\01??_7B@?1??foo@A@@QAEXH@Z@6B@" = 5 // CHECK: define {{.*}} @"\01?baz@E@?3??bar@C@?1??foo@@YAXXZ@QAEXXZ@QAEXXZ"( 6 7 // Microsoft Visual C++ ABI examples. 8 struct A { 9 void foo (int) { 10 struct B { virtual ~B() {} }; 11 B(); 12 } 13 }; 14 inline 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 void call () { 29 foo(); 30 } 31