rnk added a comment. Thanks!
In https://reviews.llvm.org/D49597#1171044, @thakis wrote: > rnk, since zturner is out until Thu, can you take a look? Yep. ================ Comment at: clang/lib/AST/MicrosoftMangle.cpp:1756 Quals = Quals.withoutObjCLifetime(); - if ((!IsPointer && Quals) || isa<TagType>(T)) { + if ((!IsPointer && Quals) || isa<TagType>(T) || isArtificialTagType(T)) { Out << '?'; ---------------- I think we might as well mangle qualifiers into all vector types. Ultimately, they are all mangled as artificial tag types, and MSVC mangles qualifiers into tag return types. I don't think it's worth the code complexity to distinguish between the __m64 / __m128* vector types that require ABI compatibility and those that don't. ================ Comment at: clang/test/CodeGenCXX/mangle-ms-vector-types.cpp:50-51 +__m64 rfoo64() { return __m64(); } +// CHECK: define dso_local <1 x i64> @"?rfoo64@@YA?AT__m64@@XZ" + ---------------- Probably worth testing a const return type to show we're mangling the qualifiers and not just adding "?A" sometimes. https://reviews.llvm.org/D49597 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits