[Bug c++/47022] [4.6 Regression] ICE: in tsubst_copy, at cp/pt.c:11682
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47022 --- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org 2011-01-07 11:49:49 UTC --- Author: jakub Date: Fri Jan 7 11:49:44 2011 New Revision: 168564 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=168564 Log: PR c++/47022 * pt.c (tsubst_copy_and_build): Use tsubst instead of tsubst_copy for the second build_x_va_arg argument. * g++.dg/template/stdarg1.C: New test. Added: trunk/gcc/testsuite/g++.dg/template/stdarg1.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/pt.c trunk/gcc/testsuite/ChangeLog
[Bug c++/47022] [4.6 Regression] ICE: in tsubst_copy, at cp/pt.c:11682
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47022 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED CC||jakub at gcc dot gnu.org Resolution||FIXED --- Comment #7 from Jakub Jelinek jakub at gcc dot gnu.org 2011-01-07 11:58:12 UTC --- Fixed.
[Bug c++/47022] [4.6 Regression] ICE: in tsubst_copy, at cp/pt.c:11682
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47022 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P1
[Bug c++/47022] [4.6 Regression] ICE: in tsubst_copy, at cp/pt.c:11682
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47022 --- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org 2010-12-31 11:01:05 UTC --- Created attachment 22874 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=22874 gcc46-pr47022.patch I think we can either handle the bunch of missing types in tsubst_copy as done in this patch, or in the default: case of tsubst_copy if t is a type just call tsubst instead of gcc_unreachable, or call tsubst instead of tsubst_copy on the second argument of VA_ARG_EXPR (which is a type, not expression), or any combination of these.
[Bug c++/47022] [4.6 Regression] ICE: in tsubst_copy, at cp/pt.c:11682
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47022 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Target Milestone|--- |4.6.0
[Bug c++/47022] [4.6 Regression] ICE: in tsubst_copy, at cp/pt.c:11682
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47022 H.J. Lu hjl.tools at gmail dot com changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2010.12.29 02:58:42 CC||jason at redhat dot com Ever Confirmed|0 |1 --- Comment #4 from H.J. Lu hjl.tools at gmail dot com 2010-12-29 02:58:42 UTC --- It is caused by revision 165307: http://gcc.gnu.org/ml/gcc-cvs/2010-10/msg00490.html
[Bug c++/47022] [4.6 Regression] ICE: in tsubst_copy, at cp/pt.c:11682
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47022 --- Comment #2 from Yu Simin silver24k at gmail dot com 2010-12-28 02:45:16 UTC --- I found this code ICEs: #include stdarg.h templatetypename _T void foo(_T *p, va_list argptr) { *p = va_arg(argptr, long double); //float/double } void bar(va_list ap) { long double argdata = 0; foolong double(argdata, ap); } Changing long double to double or float also causes the ICE but this is OK: #include stdarg.h templatetypename _T void foo(_T *p, va_list argptr) { *p = va_arg(argptr, _T); } void bar(va_list ap) { long double argdata = 0; foolong double(argdata, ap); }
[Bug c++/47022] [4.6 Regression] ICE: in tsubst_copy, at cp/pt.c:11682
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47022 --- Comment #3 from Yu Simin silver24k at gmail dot com 2010-12-28 04:17:07 UTC --- I think tsubst_copy should handle REAL_TYPE.
[Bug c++/47022] [4.6 Regression] ICE: in tsubst_copy, at cp/pt.c:11682
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47022 Yu Simin silver24k at gmail dot com changed: What|Removed |Added Summary|ICE: in tsubst_copy, at |[4.6 Regression] ICE: in |cp/pt.c:11682 |tsubst_copy, at ||cp/pt.c:11682 --- Comment #1 from Yu Simin silver24k at gmail dot com 2010-12-26 07:34:55 UTC --- Still fails with trunk r168244.