Author: cpplearner Date: Sat Aug 17 13:57:52 2019 New Revision: 369196 URL: http://llvm.org/viewvc/llvm-project?rev=369196&view=rev Log: [SemaDeclCXX] Allow inheriting constructor declaration to specify a cv-qualified type
Differential Revision: https://reviews.llvm.org/D47419 Modified: cfe/trunk/lib/Sema/SemaDeclCXX.cpp cfe/trunk/test/CXX/special/class.inhctor/elsewhere.cpp Modified: cfe/trunk/lib/Sema/SemaDeclCXX.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDeclCXX.cpp?rev=369196&r1=369195&r2=369196&view=diff ============================================================================== --- cfe/trunk/lib/Sema/SemaDeclCXX.cpp (original) +++ cfe/trunk/lib/Sema/SemaDeclCXX.cpp Sat Aug 17 13:57:52 2019 @@ -9997,7 +9997,8 @@ static CXXBaseSpecifier *findDirectBaseW QualType DesiredBase, bool &AnyDependentBases) { // Check whether the named type is a direct base class. - CanQualType CanonicalDesiredBase = DesiredBase->getCanonicalTypeUnqualified(); + CanQualType CanonicalDesiredBase = DesiredBase->getCanonicalTypeUnqualified() + .getUnqualifiedType(); for (auto &Base : Derived->bases()) { CanQualType BaseType = Base.getType()->getCanonicalTypeUnqualified(); if (CanonicalDesiredBase == BaseType) Modified: cfe/trunk/test/CXX/special/class.inhctor/elsewhere.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/special/class.inhctor/elsewhere.cpp?rev=369196&r1=369195&r2=369196&view=diff ============================================================================== --- cfe/trunk/test/CXX/special/class.inhctor/elsewhere.cpp (original) +++ cfe/trunk/test/CXX/special/class.inhctor/elsewhere.cpp Sat Aug 17 13:57:52 2019 @@ -62,3 +62,4 @@ struct G : T { G(int &) : G(0) {} }; G<B1> g(123); +G<const B1> g2(123); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits