Sure, let's take this for Clang 4. On 31 January 2017 at 10:39, Hans Wennborg <h...@chromium.org> wrote:
> Ping? > > On Thu, Jan 26, 2017 at 3:42 PM, Hans Wennborg <h...@chromium.org> wrote: > > Should we merge this to the release branch? > > > > On Mon, Jan 16, 2017 at 8:14 PM, David Majnemer via cfe-commits > > <cfe-commits@lists.llvm.org> wrote: > >> Author: majnemer > >> Date: Mon Jan 16 22:14:25 2017 > >> New Revision: 292194 > >> > >> URL: http://llvm.org/viewvc/llvm-project?rev=292194&view=rev > >> Log: > >> [AST] AttributedType should derive type properties from the > EquivalentType > >> > >> Using the canonical type instead of the equivalent type can result in > >> insufficient template instantiations. > >> > >> This fixes PR31656. > >> > >> Differential Revision: https://reviews.llvm.org/D28788 > >> > >> Modified: > >> cfe/trunk/include/clang/AST/Type.h > >> cfe/trunk/test/CodeGenCXX/microsoft-abi-default-cc.cpp > >> > >> Modified: cfe/trunk/include/clang/AST/Type.h > >> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/ > clang/AST/Type.h?rev=292194&r1=292193&r2=292194&view=diff > >> ============================================================ > ================== > >> --- cfe/trunk/include/clang/AST/Type.h (original) > >> +++ cfe/trunk/include/clang/AST/Type.h Mon Jan 16 22:14:25 2017 > >> @@ -3832,13 +3832,13 @@ private: > >> > >> friend class ASTContext; // creates these > >> > >> - AttributedType(QualType canon, Kind attrKind, > >> - QualType modified, QualType equivalent) > >> - : Type(Attributed, canon, canon->isDependentType(), > >> - canon->isInstantiationDependentType(), > >> - canon->isVariablyModifiedType(), > >> - canon->containsUnexpandedParameterPack()), > >> - ModifiedType(modified), EquivalentType(equivalent) { > >> + AttributedType(QualType canon, Kind attrKind, QualType modified, > >> + QualType equivalent) > >> + : Type(Attributed, canon, equivalent->isDependentType(), > >> + equivalent->isInstantiationDependentType(), > >> + equivalent->isVariablyModifiedType(), > >> + equivalent->containsUnexpandedParameterPack()), > >> + ModifiedType(modified), EquivalentType(equivalent) { > >> AttributedTypeBits.AttrKind = attrKind; > >> } > >> > >> > >> Modified: cfe/trunk/test/CodeGenCXX/microsoft-abi-default-cc.cpp > >> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/ > CodeGenCXX/microsoft-abi-default-cc.cpp?rev=292194&r1= > 292193&r2=292194&view=diff > >> ============================================================ > ================== > >> --- cfe/trunk/test/CodeGenCXX/microsoft-abi-default-cc.cpp (original) > >> +++ cfe/trunk/test/CodeGenCXX/microsoft-abi-default-cc.cpp Mon Jan 16 > 22:14:25 2017 > >> @@ -45,3 +45,12 @@ void __cdecl static_baz() {} > >> void static_qux() {} > >> // GCABI-LABEL: define void @_Z10static_quxv > >> // MSABI: define void @"\01?static_qux@@YAXXZ" > >> + > >> +namespace PR31656 { > >> +template <int I> > >> +void __cdecl callee(int args[I]); > >> +// GCABI-LABEL: declare void @_ZN7PR316566calleeILi1EEEvPi( > >> +// MSABI: declare void @"\01??$callee@$00@PR31656@@YAXQAH@Z"( > >> + > >> +void caller() { callee<1>(0); } > >> +} > >> > >> > >> _______________________________________________ > >> cfe-commits mailing list > >> cfe-commits@lists.llvm.org > >> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits