r245609 - PR24483: Delete some dead/incorrect code that triggered assertions.
Richard Smith via cfe-commits
cfe-commits at lists.llvm.org
Thu Aug 20 14:58:29 PDT 2015
Hans, it looked like you might have wanted PR24483 fixed for 3.7. If so,
this patch is safe for branch.
On Thu, Aug 20, 2015 at 1:45 PM, Richard Smith via cfe-commits <
cfe-commits at lists.llvm.org> wrote:
> Author: rsmith
> Date: Thu Aug 20 15:45:25 2015
> New Revision: 245609
>
> URL: http://llvm.org/viewvc/llvm-project?rev=245609&view=rev
> Log:
> PR24483: Delete some dead/incorrect code that triggered assertions.
>
> Modified:
> cfe/trunk/lib/Sema/SemaTemplate.cpp
> cfe/trunk/test/SemaTemplate/instantiate-var-template.cpp
>
> Modified: cfe/trunk/lib/Sema/SemaTemplate.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaTemplate.cpp?rev=245609&r1=245608&r2=245609&view=diff
>
> ==============================================================================
> --- cfe/trunk/lib/Sema/SemaTemplate.cpp (original)
> +++ cfe/trunk/lib/Sema/SemaTemplate.cpp Thu Aug 20 15:45:25 2015
> @@ -2469,25 +2469,6 @@ DeclResult Sema::ActOnVarTemplateSpecial
> false, Converted))
> return true;
>
> - // Check that the type of this variable template specialization
> - // matches the expected type.
> - TypeSourceInfo *ExpectedDI;
> - {
> - // Do substitution on the type of the declaration
> - TemplateArgumentList TemplateArgList(TemplateArgumentList::OnStack,
> - Converted.data(),
> Converted.size());
> - InstantiatingTemplate Inst(*this, TemplateKWLoc, VarTemplate);
> - if (Inst.isInvalid())
> - return true;
> - VarDecl *Templated = VarTemplate->getTemplatedDecl();
> - ExpectedDI =
> - SubstType(Templated->getTypeSourceInfo(),
> - MultiLevelTemplateArgumentList(TemplateArgList),
> - Templated->getTypeSpecStartLoc(),
> Templated->getDeclName());
> - }
> - if (!ExpectedDI)
> - return true;
> -
> // Find the variable template (partial) specialization declaration that
> // corresponds to these arguments.
> if (IsPartialSpecialization) {
>
> Modified: cfe/trunk/test/SemaTemplate/instantiate-var-template.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaTemplate/instantiate-var-template.cpp?rev=245609&r1=245608&r2=245609&view=diff
>
> ==============================================================================
> --- cfe/trunk/test/SemaTemplate/instantiate-var-template.cpp (original)
> +++ cfe/trunk/test/SemaTemplate/instantiate-var-template.cpp Thu Aug 20
> 15:45:25 2015
> @@ -34,3 +34,9 @@ namespace InstantiationDependent {
> static_assert(a<sizeof(sizeof(f(T())))> == 0, ""); // expected-error
> {{static_assert failed}}
> }
> }
> +
> +namespace PR24483 {
> + template<typename> struct A;
> + template<typename... T> A<T...> models;
> + template<> struct B models<>; // expected-error {{incomplete type
> 'struct B'}} expected-note {{forward declaration}}
> +}
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150820/ecadac72/attachment.html>
More information about the cfe-commits
mailing list