summaryrefslogtreecommitdiffstats
path: root/test/CodeGenCXX/mangle-ms-vector-types.cpp
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2015-12-29 11:45:58 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2015-12-29 11:45:58 +0000
commit8191b5c69b83c8ea82a81fefc1eeedea96e4b67c (patch)
tree6b4619c30d05793e68d427d8d39b26a1f353bf7b /test/CodeGenCXX/mangle-ms-vector-types.cpp
parentc1b94fa31f7c65b9367b09d9878c5c323a64056f (diff)
[MS ABI] Cleanup our mangling of vector types
We used to produce a type which demangled to: union __clang_vec8_F That 'F' is the mangling for 'short' but it is present in the mangled name in an inappropriate place, leading to it not getting demangled. Instead, create a synthetic class type in a synthetic namespace called __clang. With this, it now demangles to: union __clang::__vector<short,8> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@256556 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/mangle-ms-vector-types.cpp')
-rw-r--r--test/CodeGenCXX/mangle-ms-vector-types.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/test/CodeGenCXX/mangle-ms-vector-types.cpp b/test/CodeGenCXX/mangle-ms-vector-types.cpp
index 5aca4551ce..53a1a43fe4 100644
--- a/test/CodeGenCXX/mangle-ms-vector-types.cpp
+++ b/test/CodeGenCXX/mangle-ms-vector-types.cpp
@@ -27,11 +27,11 @@ void foo256i(__m256i) {}
// We have a custom mangling for vector types not standardized by Intel.
void foov8hi(__v8hi) {}
-// CHECK: define void @"\01?foov8hi@@YAXT__clang_vec8_F@@@Z"
+// CHECK: define void @"\01?foov8hi@@YAXT?$__vector@F$07@__clang@@@Z"
typedef __attribute__((ext_vector_type(4))) int vi4b;
void foovi4b(vi4b) {}
-// CHECK: define void @"\01?foovi4b@@YAXT__clang_vec4_H@@@Z"
+// CHECK: define void @"\01?foovi4b@@YAXT?$__vector@H$03@__clang@@@Z"
// Clang does not support vectors of complex types, so we can't test the
// mangling of them.