public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/33943] New: ICE with partial specialization on vararg template template parameter
@ 2007-10-29 18:12 eric dot niebler at gmail dot com
2007-11-19 5:03 ` [Bug c++/33943] [4.3 Regression] " pinskia at gcc dot gnu dot org
` (9 more replies)
0 siblings, 10 replies; 11+ messages in thread
From: eric dot niebler at gmail dot com @ 2007-10-29 18:12 UTC (permalink / raw)
To: gcc-bugs
Compiled with -std=c++0x, version g++ (GCC) 4.3.0 20070921 (experimental), the
following program causes an ICE.
{{{
template<typename... A>
struct foo {};
template<typename A0, typename... A1>
struct bar {};
template<typename U>
struct baz;
template<template<typename...> class T, typename... U>
struct baz< T<U...> >
{};
template<template<typename, typename...> class T, typename U, typename... V>
struct baz< T<U, V...> >
{};
baz< foo<int, short> > b1;
baz< bar<int, short> > b2;
}}}
--
Summary: ICE with partial specialization on vararg template
template parameter
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: eric dot niebler at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33943
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/33943] [4.3 Regression] ICE with partial specialization on vararg template template parameter
2007-10-29 18:12 [Bug c++/33943] New: ICE with partial specialization on vararg template template parameter eric dot niebler at gmail dot com
@ 2007-11-19 5:03 ` pinskia at gcc dot gnu dot org
2007-11-27 5:53 ` mmitchel at gcc dot gnu dot org
` (8 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-11-19 5:03 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from pinskia at gcc dot gnu dot org 2007-11-19 05:03 -------
Confirmed, the ICE is an error recovery regression.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |pinskia at gcc dot gnu dot
| |org
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Keywords| |error-recovery, ice-on-
| |invalid-code
Last reconfirmed|0000-00-00 00:00:00 |2007-11-19 05:03:36
date| |
Summary|ICE with partial |[4.3 Regression] ICE with
|specialization on vararg |partial specialization on
|template template parameter |vararg template template
| |parameter
Target Milestone|--- |4.3.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33943
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/33943] [4.3 Regression] ICE with partial specialization on vararg template template parameter
2007-10-29 18:12 [Bug c++/33943] New: ICE with partial specialization on vararg template template parameter eric dot niebler at gmail dot com
2007-11-19 5:03 ` [Bug c++/33943] [4.3 Regression] " pinskia at gcc dot gnu dot org
@ 2007-11-27 5:53 ` mmitchel at gcc dot gnu dot org
2007-12-02 21:03 ` pinskia at gcc dot gnu dot org
` (7 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2007-11-27 5:53 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=33943
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/33943] [4.3 Regression] ICE with partial specialization on vararg template template parameter
2007-10-29 18:12 [Bug c++/33943] New: ICE with partial specialization on vararg template template parameter eric dot niebler at gmail dot com
2007-11-19 5:03 ` [Bug c++/33943] [4.3 Regression] " pinskia at gcc dot gnu dot org
2007-11-27 5:53 ` mmitchel at gcc dot gnu dot org
@ 2007-12-02 21:03 ` pinskia at gcc dot gnu dot org
2007-12-15 8:31 ` dgregor at gcc dot gnu dot org
` (6 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-12-02 21:03 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from pinskia at gcc dot gnu dot org 2007-12-02 21:03 -------
Mark, this is really only an error recovery regression. Can you relook at the
current priority?
Thanks,
Andrew Pinski
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |mmitchel at gcc dot gnu dot
| |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33943
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/33943] [4.3 Regression] ICE with partial specialization on vararg template template parameter
2007-10-29 18:12 [Bug c++/33943] New: ICE with partial specialization on vararg template template parameter eric dot niebler at gmail dot com
` (2 preceding siblings ...)
2007-12-02 21:03 ` pinskia at gcc dot gnu dot org
@ 2007-12-15 8:31 ` dgregor at gcc dot gnu dot org
2007-12-15 12:14 ` pinskia at gcc dot gnu dot org
` (5 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: dgregor at gcc dot gnu dot org @ 2007-12-15 8:31 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from dgregor at gcc dot gnu dot org 2007-12-15 08:31 -------
This is valid code, so it's more serious than we thought.
--
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
Keywords|error-recovery, ice-on- |ice-on-valid-code
|invalid-code |
Last reconfirmed|2007-11-19 05:03:36 |2007-12-15 08:31:29
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33943
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/33943] [4.3 Regression] ICE with partial specialization on vararg template template parameter
2007-10-29 18:12 [Bug c++/33943] New: ICE with partial specialization on vararg template template parameter eric dot niebler at gmail dot com
` (3 preceding siblings ...)
2007-12-15 8:31 ` dgregor at gcc dot gnu dot org
@ 2007-12-15 12:14 ` pinskia at gcc dot gnu dot org
2007-12-16 21:11 ` mmitchel at gcc dot gnu dot org
` (4 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-12-15 12:14 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from pinskia at gcc dot gnu dot org 2007-12-15 12:13 -------
The code is still invalid C++98 so the regression is still just an error
recovery issue :).
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |error-recovery, ice-on-
| |invalid-code
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33943
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/33943] [4.3 Regression] ICE with partial specialization on vararg template template parameter
2007-10-29 18:12 [Bug c++/33943] New: ICE with partial specialization on vararg template template parameter eric dot niebler at gmail dot com
` (4 preceding siblings ...)
2007-12-15 12:14 ` pinskia at gcc dot gnu dot org
@ 2007-12-16 21:11 ` mmitchel at gcc dot gnu dot org
2007-12-16 21:28 ` pinskia at gcc dot gnu dot org
` (3 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2007-12-16 21:11 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from mmitchel at gcc dot gnu dot org 2007-12-16 21:11 -------
I disagree with Andrew's Comment #4. Once we implement a feature in the
compiler, users should reasonably expect it to be correct. We cannot
simultaneously say "Look, we have exciting new C++0x features!" and "Oh, you
found a bug? That's not very serious, since it's just a new C++0x feature."
Thus, I've upgraded this to P1.
--
mmitchel at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P2 |P1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33943
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/33943] [4.3 Regression] ICE with partial specialization on vararg template template parameter
2007-10-29 18:12 [Bug c++/33943] New: ICE with partial specialization on vararg template template parameter eric dot niebler at gmail dot com
` (5 preceding siblings ...)
2007-12-16 21:11 ` mmitchel at gcc dot gnu dot org
@ 2007-12-16 21:28 ` pinskia at gcc dot gnu dot org
2007-12-16 21:57 ` pcarlini at suse dot de
` (2 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-12-16 21:28 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from pinskia at gcc dot gnu dot org 2007-12-16 21:27 -------
(In reply to comment #5)
> I disagree with Andrew's Comment #4. Once we implement a feature in the
> compiler, users should reasonably expect it to be correct. We cannot
> simultaneously say "Look, we have exciting new C++0x features!" and "Oh, you
> found a bug? That's not very serious, since it's just a new C++0x feature."
I seriously disagree, this is not a regression in that code never was supported
before and really C++0x support should not block the release just because
people feel this is an important feature of 4.3.0. Also another thing is that
we have some ODR violations in libstdc++ that the libstdc++ folks have not
replied to me about yet.
See http://gcc.gnu.org/ml/libstdc++/2007-08/msg00032.html and some others.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33943
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/33943] [4.3 Regression] ICE with partial specialization on vararg template template parameter
2007-10-29 18:12 [Bug c++/33943] New: ICE with partial specialization on vararg template template parameter eric dot niebler at gmail dot com
` (6 preceding siblings ...)
2007-12-16 21:28 ` pinskia at gcc dot gnu dot org
@ 2007-12-16 21:57 ` pcarlini at suse dot de
2007-12-18 21:20 ` dgregor at gcc dot gnu dot org
2007-12-18 22:16 ` dgregor at gcc dot gnu dot org
9 siblings, 0 replies; 11+ messages in thread
From: pcarlini at suse dot de @ 2007-12-16 21:57 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from pcarlini at suse dot de 2007-12-16 21:57 -------
(In reply to comment #6)
Also another thing is that
> we have some ODR violations in libstdc++ that the libstdc++ folks have not
> replied to me about yet.
Because such a thing doesn't exist. If the user wants to experiment (note,
experiment, we are talking about experimental implementations, I think the
announcement is pretty clear about that) with some library features that will
be likely available in the next C++ standard, he can compile with -std=c++0x.
Then he will be in the realm of another language, not the same as C++03. ODR
between what? Between a language and a different (eminently experimental)
language? By the way, the real library for the next standard will be something
very different (we haven't yet started on it), will badly break ABI, API and
everything imaginable.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33943
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/33943] [4.3 Regression] ICE with partial specialization on vararg template template parameter
2007-10-29 18:12 [Bug c++/33943] New: ICE with partial specialization on vararg template template parameter eric dot niebler at gmail dot com
` (7 preceding siblings ...)
2007-12-16 21:57 ` pcarlini at suse dot de
@ 2007-12-18 21:20 ` dgregor at gcc dot gnu dot org
2007-12-18 22:16 ` dgregor at gcc dot gnu dot org
9 siblings, 0 replies; 11+ messages in thread
From: dgregor at gcc dot gnu dot org @ 2007-12-18 21:20 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from dgregor at gcc dot gnu dot org 2007-12-18 21:19 -------
Subject: Bug 33943
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=33943
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug c++/33943] [4.3 Regression] ICE with partial specialization on vararg template template parameter
2007-10-29 18:12 [Bug c++/33943] New: ICE with partial specialization on vararg template template parameter eric dot niebler at gmail dot com
` (8 preceding siblings ...)
2007-12-18 21:20 ` dgregor at gcc dot gnu dot org
@ 2007-12-18 22:16 ` dgregor at gcc dot gnu dot org
9 siblings, 0 replies; 11+ messages in thread
From: dgregor at gcc dot gnu dot org @ 2007-12-18 22:16 UTC (permalink / raw)
To: gcc-bugs
------- Comment #9 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=33943
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2007-12-18 22:16 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-10-29 18:12 [Bug c++/33943] New: ICE with partial specialization on vararg template template parameter eric dot niebler at gmail dot com
2007-11-19 5:03 ` [Bug c++/33943] [4.3 Regression] " pinskia at gcc dot gnu dot org
2007-11-27 5:53 ` mmitchel at gcc dot gnu dot org
2007-12-02 21:03 ` pinskia at gcc dot gnu dot org
2007-12-15 8:31 ` dgregor at gcc dot gnu dot org
2007-12-15 12:14 ` pinskia at gcc dot gnu dot org
2007-12-16 21:11 ` mmitchel at gcc dot gnu dot org
2007-12-16 21:28 ` pinskia at gcc dot gnu dot org
2007-12-16 21:57 ` pcarlini at suse dot de
2007-12-18 21:20 ` dgregor at gcc dot gnu dot org
2007-12-18 22:16 ` 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).