diff --git a/test/CodeGenCXX/mangle-ms.cpp b/test/CodeGenCXX/mangle-ms.cpp index 326a848fcb96..58d48cbb60a5 100644 --- a/test/CodeGenCXX/mangle-ms.cpp +++ b/test/CodeGenCXX/mangle-ms.cpp @@ -42,6 +42,9 @@ class foo { foo(char *q){} //CHECK: @"\01??0foo@@QAE@PAD@Z" + + static foo* static_method() { return 0; } + }f,s1(1),s2((char*)0); typedef foo (foo2); @@ -62,8 +65,17 @@ enum quux { qthree }; -int foo::operator+(int a) {return a;} -// CHECK: @"\01??Hfoo@@QAEHH@Z" +foo bar() { return foo(); } +//CHECK: @"\01?bar@@YA?AVfoo@@XZ" + +int foo::operator+(int a) { +//CHECK: @"\01??Hfoo@@QAEHH@Z" + + foo::static_method(); +//CHECK: @"\01?static_method@foo@@SAPAV1@XZ" + bar(); + return a; +} const short foo::d = 0; volatile long foo::e;