[Bug c++/47022] [4.6 Regression] ICE: in tsubst_copy, at cp/pt.c:11682

2011-01-07 Thread jakub at gcc dot gnu.org
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

2011-01-07 Thread jakub at gcc dot gnu.org
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

2011-01-03 Thread rguenth at gcc dot gnu.org
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

2010-12-31 Thread jakub at gcc dot gnu.org
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

2010-12-28 Thread rguenth at gcc dot gnu.org
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

2010-12-28 Thread hjl.tools at gmail dot com
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

2010-12-27 Thread silver24k at gmail dot com
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

2010-12-27 Thread silver24k at gmail dot com
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

2010-12-25 Thread silver24k at gmail dot com
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.