diff options
author | David Majnemer <david.majnemer@gmail.com> | 2015-12-29 11:45:58 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2015-12-29 11:45:58 +0000 |
commit | 8191b5c69b83c8ea82a81fefc1eeedea96e4b67c (patch) | |
tree | 6b4619c30d05793e68d427d8d39b26a1f353bf7b /test/CodeGenCXX/mangle-ms-vector-types.cpp | |
parent | c1b94fa31f7c65b9367b09d9878c5c323a64056f (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.cpp | 4 |
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. |