Author: rnk Date: Wed Mar 7 16:55:09 2018 New Revision: 326971 URL: http://llvm.org/viewvc/llvm-project?rev=326971&view=rev Log: [MS] Pass CVRU qualifiers properly in Itanium mangler
We already have a mangling for the __unaligned qualifier, we just have to call Qualifiers::getFromCVRUMask instead of getFromCVRMask. PR36638 Modified: cfe/trunk/lib/AST/ItaniumMangle.cpp cfe/trunk/test/CodeGenCXX/pr33080.cpp Modified: cfe/trunk/lib/AST/ItaniumMangle.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/ItaniumMangle.cpp?rev=326971&r1=326970&r2=326971&view=diff ============================================================================== --- cfe/trunk/lib/AST/ItaniumMangle.cpp (original) +++ cfe/trunk/lib/AST/ItaniumMangle.cpp Wed Mar 7 16:55:09 2018 @@ -2688,7 +2688,7 @@ void CXXNameMangler::mangleType(const Fu // Mangle CV-qualifiers, if present. These are 'this' qualifiers, // e.g. "const" in "int (A::*)() const". - mangleQualifiers(Qualifiers::fromCVRMask(T->getTypeQuals())); + mangleQualifiers(Qualifiers::fromCVRUMask(T->getTypeQuals())); // Mangle instantiation-dependent exception-specification, if present, // per cxx-abi-dev proposal on 2016-10-11. Modified: cfe/trunk/test/CodeGenCXX/pr33080.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/pr33080.cpp?rev=326971&r1=326970&r2=326971&view=diff ============================================================================== --- cfe/trunk/test/CodeGenCXX/pr33080.cpp (original) +++ cfe/trunk/test/CodeGenCXX/pr33080.cpp Wed Mar 7 16:55:09 2018 @@ -21,6 +21,10 @@ void hb(__unaligned struct A *, __unalig void ja(__unaligned struct A *, __unaligned struct A *__unaligned *, __unaligned struct A *__unaligned *__unaligned *) {} // CHECK: define {{(dso_local )?}}void @_Z2jaPU11__unaligned1APU11__unalignedS1_PU11__unalignedS3_( +struct A; +void memptr(void (A::*a)(int) __unaligned) {} +// CHECK: define {{.*}} @_Z6memptrM1AU11__unalignedFviE( + void jb(__unaligned struct A *, __unaligned struct A **, __unaligned struct A *__unaligned *__unaligned *) {} // CHECK: @_Z2jbPU11__unaligned1APS1_PU11__unalignedPU11__unalignedS1_( _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits