[LLVMbugs] [Bug 13811] New: substitution of expandable function parameter packs while not performing expansion results in assertion failure

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Sep 10 23:18:49 PDT 2012


http://llvm.org/bugs/show_bug.cgi?id=13811

             Bug #: 13811
           Summary: substitution of expandable function parameter packs
                    while not performing expansion results in assertion
                    failure
           Product: clang
           Version: unspecified
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: C++11
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: richard-llvm at metafoo.co.uk
                CC: dgregor at apple.com, llvmbugs at cs.uiuc.edu
    Classification: Unclassified


This causes Clang to assert:

template<typename...T> struct S {
  template<typename...U> auto f(T ...ts) -> decltype(f(ts + U()...));
};
template struct S<int, int>;

We have no way to represent the expanded function parameter pack which is
produced by substituting 'ts' without expanding the pack, and presumably need
the function parameter pack analogue of SubstNonTypeTemplateParmPackExpr.

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list