Summary: | [4.3 regression] ICE with template class in variadic template class | ||
---|---|---|---|
Product: | gcc | Reporter: | Volker Reichelt <reichelt> |
Component: | c++ | Assignee: | dgregor |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | dgregor, fang, gcc-bugs |
Priority: | P1 | Keywords: | ice-on-valid-code, monitored |
Version: | 4.3.0 | ||
Target Milestone: | 4.3.0 | ||
Host: | Target: | ||
Build: | Known to work: | ||
Known to fail: | Last reconfirmed: | 2007-08-06 15:32:15 |
Description
Volker Reichelt
2007-05-18 22:58:06 UTC
Confirmed. This isn't a regression. The error is reported with a compiler from 20070210, the day after support for variadic templates was added. Subject: Bug 31993 Author: dgregor Date: Tue Oct 30 13:36:34 2007 New Revision: 129773 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=129773 Log: 2007-10-30 Douglas Gregor <doug.gregor@gmail.com> PR c++/31993 PR c++/32252 * pt.c (find_parameter_packs_r): Fix typo in comment. (convert_template_argument): Look at the pattern of a pack expansion to determine what kind of entity we're converting. (coerce_template_parameter_pack): When we have coerced a non-type template parameter pack, substitute into the type of that pack. (tsubst_pack_expansion): When our substitution of a parameter pack is a "trivial" substitution of itself, just substitute into the pack expansion rather than actually expanding. 2007-10-30 Douglas Gregor <doug.gregor@gmail.com> PR c++/31993 PR c++/32252 * g++.dg/cpp0x/pr31993.C: New * g++.dg/cpp0x/pr32252.C: New Added: trunk/gcc/testsuite/g++.dg/cpp0x/pr31993.C trunk/gcc/testsuite/g++.dg/cpp0x/pr32252.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/pt.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/g++.dg/parse/crash36.C Fixed. |