public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/14507] [3.3 Regression] Wacky Template ICE
[not found] <20040309192501.14507.stl@nuwen.net>
@ 2004-09-28 13:27 ` gdr at gcc dot gnu dot org
2005-01-21 4:17 ` gdr at gcc dot gnu dot org
1 sibling, 0 replies; 7+ messages in thread
From: gdr at gcc dot gnu dot org @ 2004-09-28 13:27 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From gdr at gcc dot gnu dot org 2004-09-28 13:27 -------
Adjust milestone
--
What |Removed |Added
----------------------------------------------------------------------------
Known to work|3.4.0 4.0 2.95.3 |3.4.0 4.0.0 2.95.3
Target Milestone|3.3.5 |3.3.6
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14507
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/14507] [3.3 Regression] Wacky Template ICE
[not found] <20040309192501.14507.stl@nuwen.net>
2004-09-28 13:27 ` [Bug c++/14507] [3.3 Regression] Wacky Template ICE gdr at gcc dot gnu dot org
@ 2005-01-21 4:17 ` gdr at gcc dot gnu dot org
1 sibling, 0 replies; 7+ messages in thread
From: gdr at gcc dot gnu dot org @ 2005-01-21 4:17 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From gdr at gcc dot gnu dot org 2005-01-21 04:17 -------
This bugs seems to have been introduced in 3.0.x. It is fixed in
3.4.x and higher. Fixing this requires fiddling with name lookup and
and the template handling code. I don't think that is wise at this point.
So I'll close as won't fix.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |WONTFIX
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14507
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/14507] [3.3 Regression] Wacky Template ICE
2004-03-09 19:25 [Bug c++/14507] New: [3.1/3.2/3.2.2/3.2.3/3.3.2/3.3.3 Regression From 2.95.2/2.95.3] " stl at caltech dot edu
` (3 preceding siblings ...)
2004-06-11 22:22 ` pinskia at gcc dot gnu dot org
@ 2004-08-10 19:07 ` reichelt at gcc dot gnu dot org
4 siblings, 0 replies; 7+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2004-08-10 19:07 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From reichelt at gcc dot gnu dot org 2004-08-10 19:07 -------
Here's a shorter testcase:
====================================================
template<typename T> struct A : virtual A<T> {};
template<typename T> struct A<T*> : A<T>
{
A() : A() {}
};
====================================================
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |reichelt at gcc dot gnu dot
| |org
Keywords| |monitored
Known to fail|3.0.4 3.3.1 3.2.3 |3.0.4 3.2.3 3.3.1 3.3.3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14507
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/14507] [3.3 Regression] Wacky Template ICE
2004-03-09 19:25 [Bug c++/14507] New: [3.1/3.2/3.2.2/3.2.3/3.3.2/3.3.3 Regression From 2.95.2/2.95.3] " stl at caltech dot edu
` (2 preceding siblings ...)
2004-04-01 19:40 ` bangerth at dealii dot org
@ 2004-06-11 22:22 ` pinskia at gcc dot gnu dot org
2004-08-10 19:07 ` reichelt at gcc dot gnu dot org
4 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-06-11 22:22 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|3.3.4 |3.3.5
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14507
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/14507] [3.3 Regression] Wacky Template ICE
2004-03-09 19:25 [Bug c++/14507] New: [3.1/3.2/3.2.2/3.2.3/3.3.2/3.3.3 Regression From 2.95.2/2.95.3] " stl at caltech dot edu
2004-03-09 19:41 ` [Bug c++/14507] [3.3 Regression] " pinskia at gcc dot gnu dot org
2004-03-09 20:36 ` bangerth at dealii dot org
@ 2004-04-01 19:40 ` bangerth at dealii dot org
2004-06-11 22:22 ` pinskia at gcc dot gnu dot org
2004-08-10 19:07 ` reichelt at gcc dot gnu dot org
4 siblings, 0 replies; 7+ messages in thread
From: bangerth at dealii dot org @ 2004-04-01 19:40 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From bangerth at dealii dot org 2004-04-01 19:40 -------
My point with the infinite class hierarchy is actually not very good.
After all, we are just declaring a bunch of templates, not instantiating
any of them. The actual class hierarchy can only be determined once we
try to instantiate something, since we may have added further specialization
later on (after the code shown, which already blows up by itself), which
may terminate the inheritance hierarchy at some finite point.
W.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14507
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/14507] [3.3 Regression] Wacky Template ICE
2004-03-09 19:25 [Bug c++/14507] New: [3.1/3.2/3.2.2/3.2.3/3.3.2/3.3.3 Regression From 2.95.2/2.95.3] " stl at caltech dot edu
2004-03-09 19:41 ` [Bug c++/14507] [3.3 Regression] " pinskia at gcc dot gnu dot org
@ 2004-03-09 20:36 ` bangerth at dealii dot org
2004-04-01 19:40 ` bangerth at dealii dot org
` (2 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: bangerth at dealii dot org @ 2004-03-09 20:36 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From bangerth at dealii dot org 2004-03-09 20:36 -------
Wow, yes, this _is_ wacky. However, it should be legal.
Not surprisingly, the cause of death of previous compilers is due to
memory starvation after expanding like a dying star on my machine. What
happens is that apparently it tries to expand the inheritance tree without
seeing that there is a partial specialization around. For, if I change the
example to this:
-----------------
template <typename A, typename B = int, typename C = int, typename D = int>
struct c;
template <typename A, typename B, typename C>
struct c<A, B, C, int> : c<A, B> {
c() : c() { }
};
template <typename A, typename B, typename C, typename D>
struct c : virtual c<A, B> { };
----------------
then it compiles fine. However, in both cases the code may not be legal
since the class hierarchy is actually infinite. The only difference between
seeing the partial specialization and not seeing it is that in one case
it tries to do all the inheritance with virtual base classes, and in the
other case with non-virtual ones.
W.
--
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |memory-hog
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14507
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug c++/14507] [3.3 Regression] Wacky Template ICE
2004-03-09 19:25 [Bug c++/14507] New: [3.1/3.2/3.2.2/3.2.3/3.3.2/3.3.3 Regression From 2.95.2/2.95.3] " stl at caltech dot edu
@ 2004-03-09 19:41 ` pinskia at gcc dot gnu dot org
2004-03-09 20:36 ` bangerth at dealii dot org
` (3 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-03-09 19:41 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-03-09 19:41 -------
Confirmed, a regression from 2.95.3, note 3.4.0 and the mainline is already fixed.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed| |1
Keywords| |ice-on-valid-code
Known to fail| |3.0.4 3.3.1 3.2.3
Known to work| |3.4.0 3.5.0 2.95.3
Last reconfirmed|0000-00-00 00:00:00 |2004-03-09 19:41:54
date| |
Summary|[3.1/3.2/3.2.2/3.2.3/3.3.2/3|[3.3 Regression] Wacky
|.3.3 Regression From |Template ICE
|2.95.2/2.95.3] Wacky |
|Template ICE |
Target Milestone|--- |3.3.4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14507
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2005-01-21 4:17 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <20040309192501.14507.stl@nuwen.net>
2004-09-28 13:27 ` [Bug c++/14507] [3.3 Regression] Wacky Template ICE gdr at gcc dot gnu dot org
2005-01-21 4:17 ` gdr at gcc dot gnu dot org
2004-03-09 19:25 [Bug c++/14507] New: [3.1/3.2/3.2.2/3.2.3/3.3.2/3.3.3 Regression From 2.95.2/2.95.3] " stl at caltech dot edu
2004-03-09 19:41 ` [Bug c++/14507] [3.3 Regression] " pinskia at gcc dot gnu dot org
2004-03-09 20:36 ` bangerth at dealii dot org
2004-04-01 19:40 ` bangerth at dealii dot org
2004-06-11 22:22 ` pinskia at gcc dot gnu dot org
2004-08-10 19:07 ` reichelt 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).