aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/CodeGenCXX/mangle-ms.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/test/CodeGenCXX/mangle-ms.cpp b/test/CodeGenCXX/mangle-ms.cpp
index 326a848fcb..58d48cbb60 100644
--- a/test/CodeGenCXX/mangle-ms.cpp
+++ b/test/CodeGenCXX/mangle-ms.cpp
@@ -42,6 +42,9 @@ public:
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;