summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/mangle-ms.cpp
diff options
context:
space:
mode:
authorCharles Davis <cdavis@mines.edu>2010-06-26 03:50:05 +0000
committerCharles Davis <cdavis@mines.edu>2010-06-26 03:50:05 +0000
commitf4db33cbdf5a9db87b988008b4f23e5312bb3496 (patch)
tree741f29f9d5c47cf15b131046d376c2629ef86121 /clang/test/CodeGenCXX/mangle-ms.cpp
parentb71233f34d32752e1875633ab7db445f9aeff916 (diff)
downloadbcm5719-llvm-f4db33cbdf5a9db87b988008b4f23e5312bb3496.tar.gz
bcm5719-llvm-f4db33cbdf5a9db87b988008b4f23e5312bb3496.zip
Mangle pointer and (lvalue) reference types in the Microsoft C++ Mangler.
Also, fix mangling of throw specs. Turns out MSVC totally ignores throw specs when mangling names. llvm-svn: 106937
Diffstat (limited to 'clang/test/CodeGenCXX/mangle-ms.cpp')
-rw-r--r--clang/test/CodeGenCXX/mangle-ms.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/clang/test/CodeGenCXX/mangle-ms.cpp b/clang/test/CodeGenCXX/mangle-ms.cpp
index a528054d8d0..d0bd4a967de 100644
--- a/clang/test/CodeGenCXX/mangle-ms.cpp
+++ b/clang/test/CodeGenCXX/mangle-ms.cpp
@@ -7,6 +7,7 @@
// CHECK: @"\01?e@foo@@1JC"
// CHECK: @"\01?f@foo@@2DD"
// CHECK: @"\01?g@bar@@2HA"
+// CHECK: @"\01?h@@3QAHA"
int a;
@@ -50,18 +51,23 @@ const volatile char foo::f = 'C';
int bar::g;
+extern int * const h = &a;
+
// Static functions are mangled, too.
// Also make sure calling conventions, arglists, and throw specs work.
static void __stdcall alpha(float a, double b) throw() {}
bool __fastcall beta(long long a, wchar_t b) throw(signed char, unsigned char) {
-// CHECK: @"\01?beta@@YI_N_J_W@CE@"
+// CHECK: @"\01?beta@@YI_N_J_W@Z"
alpha(0.f, 0.0);
return false;
}
-// CHECK: @"\01?alpha@@YGXMN@@"
+// CHECK: @"\01?alpha@@YGXMN@Z"
// Make sure tag-type mangling works.
void gamma(class foo, struct bar, union baz, enum quux) {}
// CHECK: @"\01?gamma@@YAXVfoo@@Ubar@@Tbaz@@W4quux@@@Z"
+// Make sure pointer/reference-type mangling works.
+void delta(int * const a, const long &) {}
+// CHECK: @"\01?delta@@YAXQAHABJ@Z"
OpenPOWER on IntegriCloud