public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/32565] [4.3 regression] ICE with specialization of variadic template
2007-06-30 16:48 [Bug c++/32565] New: [4.3 regression] ICE with specialization of variadic template reichelt at gcc dot gnu dot org
@ 2007-06-30 16:48 ` reichelt at gcc dot gnu dot org
2007-08-10 0:33 ` mmitchel at gcc dot gnu dot org
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2007-06-30 16:48 UTC (permalink / raw)
To: gcc-bugs
--
reichelt at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |4.3.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32565
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/32565] New: [4.3 regression] ICE with specialization of variadic template
@ 2007-06-30 16:48 reichelt at gcc dot gnu dot org
2007-06-30 16:48 ` [Bug c++/32565] " reichelt at gcc dot gnu dot org
` (6 more replies)
0 siblings, 7 replies; 8+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2007-06-30 16:48 UTC (permalink / raw)
To: gcc-bugs
The following valid code snippet triggers an ICE on mainline:
============================================================
template<typename...> struct A;
template<template<int...> class T> struct A<T<0> > {};
template<int> struct B;
A<B<0> > a;
============================================================
bug.cc:7: internal compiler error: tree check: expected class 'expression',
have 'constant' (integer_cst) in unify, at cp/pt.c:12796
Please submit a full bug report, [etc.]
A similar testcase generates a slightly different error message:
============================================================
template<typename...> struct A;
template<template<typename...> class T> struct A<T<int> > {};
template<typename> struct B;
A<B<int> > a;
============================================================
bug.cc:7: internal compiler error: tree check: expected class 'expression',
have 'type' (integer_type) in unify, at cp/pt.c:12796
Please submit a full bug report, [etc.]
--
Summary: [4.3 regression] ICE with specialization of variadic
template
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code, monitored
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reichelt at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32565
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/32565] [4.3 regression] ICE with specialization of variadic template
2007-06-30 16:48 [Bug c++/32565] New: [4.3 regression] ICE with specialization of variadic template reichelt at gcc dot gnu dot org
2007-06-30 16:48 ` [Bug c++/32565] " reichelt at gcc dot gnu dot org
@ 2007-08-10 0:33 ` mmitchel at gcc dot gnu dot org
2007-09-27 12:12 ` jakub at gcc dot gnu dot org
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2007-08-10 0:33 UTC (permalink / raw)
To: gcc-bugs
--
mmitchel at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32565
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/32565] [4.3 regression] ICE with specialization of variadic template
2007-06-30 16:48 [Bug c++/32565] New: [4.3 regression] ICE with specialization of variadic template reichelt at gcc dot gnu dot org
2007-06-30 16:48 ` [Bug c++/32565] " reichelt at gcc dot gnu dot org
2007-08-10 0:33 ` mmitchel at gcc dot gnu dot org
@ 2007-09-27 12:12 ` jakub at gcc dot gnu dot org
2007-12-07 20:14 ` rguenth at gcc dot gnu dot org
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: jakub at gcc dot gnu dot org @ 2007-09-27 12:12 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from jakub at gcc dot gnu dot org 2007-09-27 12:12 -------
Created an attachment (id=14255)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14255&action=view)
gcc43-pr32565.patch
WIP patch to fix this. As shown in the testcase, I believe trying to handle
ARGUMENT_PACK_P (parm) && !ARGUMENT_PACK_P (arg) in unify in unify is bad,
as parm may need more than one argument. So IMHO this has to be handled
one level higher where we have access to all the arguments.
I don't know what exactly to do with argument packs which have PACK_EXPANSION_P
at the end (can you come up with a testcase for that) and especially if such
ARGUMENT_PACK_P is not the last template argument (that is only possible for
function templates, right)?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32565
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/32565] [4.3 regression] ICE with specialization of variadic template
2007-06-30 16:48 [Bug c++/32565] New: [4.3 regression] ICE with specialization of variadic template reichelt at gcc dot gnu dot org
` (2 preceding siblings ...)
2007-09-27 12:12 ` jakub at gcc dot gnu dot org
@ 2007-12-07 20:14 ` rguenth at gcc dot gnu dot org
2007-12-15 8:29 ` dgregor at gcc dot gnu dot org
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2007-12-07 20:14 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from rguenth at gcc dot gnu dot org 2007-12-07 20:14 -------
Confirmed.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2007-12-07 20:14:04
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32565
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/32565] [4.3 regression] ICE with specialization of variadic template
2007-06-30 16:48 [Bug c++/32565] New: [4.3 regression] ICE with specialization of variadic template reichelt at gcc dot gnu dot org
` (3 preceding siblings ...)
2007-12-07 20:14 ` rguenth at gcc dot gnu dot org
@ 2007-12-15 8:29 ` dgregor at gcc dot gnu dot org
2007-12-18 21:20 ` dgregor at gcc dot gnu dot org
2007-12-18 22:15 ` dgregor at gcc dot gnu dot org
6 siblings, 0 replies; 8+ messages in thread
From: dgregor at gcc dot gnu dot org @ 2007-12-15 8:29 UTC (permalink / raw)
To: gcc-bugs
--
dgregor at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |dgregor at gcc dot gnu dot
|dot org |org
Status|NEW |ASSIGNED
Last reconfirmed|2007-12-07 20:14:04 |2007-12-15 08:29:12
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32565
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/32565] [4.3 regression] ICE with specialization of variadic template
2007-06-30 16:48 [Bug c++/32565] New: [4.3 regression] ICE with specialization of variadic template reichelt at gcc dot gnu dot org
` (4 preceding siblings ...)
2007-12-15 8:29 ` dgregor at gcc dot gnu dot org
@ 2007-12-18 21:20 ` dgregor at gcc dot gnu dot org
2007-12-18 22:15 ` dgregor at gcc dot gnu dot org
6 siblings, 0 replies; 8+ messages in thread
From: dgregor at gcc dot gnu dot org @ 2007-12-18 21:20 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from dgregor at gcc dot gnu dot org 2007-12-18 21:19 -------
Subject: Bug 32565
Author: dgregor
Date: Tue Dec 18 21:19:41 2007
New Revision: 131041
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=131041
Log:
2007-12-18 Douglas Gregor <doug.gregor@gmail.com>
Jakub Jelinek <jakub@redhat.com>
PR c++/32565
PR c++/33943
PR c++/33965
* pt.c (template_template_parm_bindings_ok_p): New; verifies
bindings of template template parameters after all template
arguments have been deduced.
(coerce_template_parms): Don't complain when COMPLAIN doesn't
include tf_error.
(fn_type_unification): Use template_template_parm_bindings_ok_p.
(unify): Deal with variadic, bound template template parameters.
(get_class_bindings): Use template_template_parm_bindings_ok_p.
2007-12-18 Douglas Gregor <doug.gregor@gmail.com>
Jakub Jelinek <jakub@redhat.com>
PR c++/32565
PR c++/33943
PR c++/33965
* g++.dg/cpp0x/variadic86.C: New.
* g++.dg/cpp0x/variadic87.C: New.
* g++.dg/cpp0x/variadic84.C: New.
* g++.dg/cpp0x/variadic85.C: New.
* g++.dg/template/ttp25.C: New.
Added:
trunk/gcc/testsuite/g++.dg/cpp0x/variadic84.C
trunk/gcc/testsuite/g++.dg/cpp0x/variadic85.C
trunk/gcc/testsuite/g++.dg/cpp0x/variadic86.C
trunk/gcc/testsuite/g++.dg/cpp0x/variadic87.C
trunk/gcc/testsuite/g++.dg/template/ttp25.C
Modified:
trunk/gcc/cp/pt.c
trunk/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32565
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug c++/32565] [4.3 regression] ICE with specialization of variadic template
2007-06-30 16:48 [Bug c++/32565] New: [4.3 regression] ICE with specialization of variadic template reichelt at gcc dot gnu dot org
` (5 preceding siblings ...)
2007-12-18 21:20 ` dgregor at gcc dot gnu dot org
@ 2007-12-18 22:15 ` dgregor at gcc dot gnu dot org
6 siblings, 0 replies; 8+ messages in thread
From: dgregor at gcc dot gnu dot org @ 2007-12-18 22:15 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from dgregor at gcc dot gnu dot org 2007-12-18 22:15 -------
Fixed on the trunk
--
dgregor at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32565
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2007-12-18 22:15 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-06-30 16:48 [Bug c++/32565] New: [4.3 regression] ICE with specialization of variadic template reichelt at gcc dot gnu dot org
2007-06-30 16:48 ` [Bug c++/32565] " reichelt at gcc dot gnu dot org
2007-08-10 0:33 ` mmitchel at gcc dot gnu dot org
2007-09-27 12:12 ` jakub at gcc dot gnu dot org
2007-12-07 20:14 ` rguenth at gcc dot gnu dot org
2007-12-15 8:29 ` dgregor at gcc dot gnu dot org
2007-12-18 21:20 ` dgregor at gcc dot gnu dot org
2007-12-18 22:15 ` dgregor at gcc dot gnu dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).