* [Bug c++/38638] [4.2/4.3/4.4 regression] ICE superfluous 'typename'
2008-12-26 22:36 [Bug c++/38638] New: [4.2/4.3/4.4 regression] ICE superfluous 'typename' reichelt at gcc dot gnu dot org
@ 2008-12-26 22:37 ` reichelt at gcc dot gnu dot org
2008-12-27 1:31 ` pinskia at gcc dot gnu dot org
` (9 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2008-12-26 22:37 UTC (permalink / raw)
To: gcc-bugs
--
reichelt at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |4.2.5
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38638
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c++/38638] [4.2/4.3/4.4 regression] ICE superfluous 'typename'
2008-12-26 22:36 [Bug c++/38638] New: [4.2/4.3/4.4 regression] ICE superfluous 'typename' reichelt at gcc dot gnu dot org
2008-12-26 22:37 ` [Bug c++/38638] " reichelt at gcc dot gnu dot org
@ 2008-12-27 1:31 ` pinskia at gcc dot gnu dot org
2008-12-29 22:52 ` rguenth at gcc dot gnu dot org
` (8 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-12-27 1:31 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from pinskia at gcc dot gnu dot org 2008-12-27 01:29 -------
Confirmed.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Known to fail| |4.4.0 4.3.0
Known to work| |3.3.3
Last reconfirmed|0000-00-00 00:00:00 |2008-12-27 01:29:47
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38638
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c++/38638] [4.2/4.3/4.4 regression] ICE superfluous 'typename'
2008-12-26 22:36 [Bug c++/38638] New: [4.2/4.3/4.4 regression] ICE superfluous 'typename' reichelt at gcc dot gnu dot org
2008-12-26 22:37 ` [Bug c++/38638] " reichelt at gcc dot gnu dot org
2008-12-27 1:31 ` pinskia at gcc dot gnu dot org
@ 2008-12-29 22:52 ` rguenth at gcc dot gnu dot org
2008-12-31 23:09 ` pinskia at gcc dot gnu dot org
` (7 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-12-29 22:52 UTC (permalink / raw)
To: gcc-bugs
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38638
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c++/38638] [4.2/4.3/4.4 regression] ICE superfluous 'typename'
2008-12-26 22:36 [Bug c++/38638] New: [4.2/4.3/4.4 regression] ICE superfluous 'typename' reichelt at gcc dot gnu dot org
` (2 preceding siblings ...)
2008-12-29 22:52 ` rguenth at gcc dot gnu dot org
@ 2008-12-31 23:09 ` pinskia at gcc dot gnu dot org
2008-12-31 23:18 ` pinskia at gcc dot gnu dot org
` (6 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-12-31 23:09 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from pinskia at gcc dot gnu dot org 2008-12-31 23:08 -------
I think I have a simple parser fix for this.
Index: parser.c
===================================================================
--- parser.c (revision 142986)
+++ parser.c (working copy)
@@ -11537,7 +11537,11 @@ cp_parser_elaborated_type_specifier (cp_
type = make_typename_type (parser->scope, decl,
typename_type,
/*complain=*/tf_error);
- else
+ /* If the `typename' keyword is in effect and DECL is not a type decl.
Then
+ type is non existant. */
+ else if (tag_type == typename_type && TREE_CODE (decl) != TYPE_DECL)
+ type = NULL_TREE;
+ else
type = TREE_TYPE (decl);
}
But I need to check if we could get anything besides typedecl here really.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed|2008-12-27 01:29:47 |2008-12-31 23:08:25
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38638
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c++/38638] [4.2/4.3/4.4 regression] ICE superfluous 'typename'
2008-12-26 22:36 [Bug c++/38638] New: [4.2/4.3/4.4 regression] ICE superfluous 'typename' reichelt at gcc dot gnu dot org
` (3 preceding siblings ...)
2008-12-31 23:09 ` pinskia at gcc dot gnu dot org
@ 2008-12-31 23:18 ` pinskia at gcc dot gnu dot org
2009-03-27 7:21 ` andreasmeier80 at gmx dot de
` (5 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2008-12-31 23:18 UTC (permalink / raw)
To: gcc-bugs
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |pinskia at gcc dot gnu dot
|dot org |org
Status|NEW |ASSIGNED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38638
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c++/38638] [4.2/4.3/4.4 regression] ICE superfluous 'typename'
2008-12-26 22:36 [Bug c++/38638] New: [4.2/4.3/4.4 regression] ICE superfluous 'typename' reichelt at gcc dot gnu dot org
` (4 preceding siblings ...)
2008-12-31 23:18 ` pinskia at gcc dot gnu dot org
@ 2009-03-27 7:21 ` andreasmeier80 at gmx dot de
2009-03-27 13:37 ` hjl at gcc dot gnu dot org
` (4 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: andreasmeier80 at gmx dot de @ 2009-03-27 7:21 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from andreasmeier80 at gmx dot de 2009-03-27 07:20 -------
Approved: http://gcc.gnu.org/ml/gcc-patches/2009-03/msg01084.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38638
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c++/38638] [4.2/4.3/4.4 regression] ICE superfluous 'typename'
2008-12-26 22:36 [Bug c++/38638] New: [4.2/4.3/4.4 regression] ICE superfluous 'typename' reichelt at gcc dot gnu dot org
` (5 preceding siblings ...)
2009-03-27 7:21 ` andreasmeier80 at gmx dot de
@ 2009-03-27 13:37 ` hjl at gcc dot gnu dot org
2009-03-31 21:05 ` [Bug c++/38638] [4.3 " jsm28 at gcc dot gnu dot org
` (3 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: hjl at gcc dot gnu dot org @ 2009-03-27 13:37 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from hjl at gcc dot gnu dot org 2009-03-27 13:36 -------
Subject: Bug 38638
Author: hjl
Date: Fri Mar 27 13:36:33 2009
New Revision: 145107
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=145107
Log:
gcc/cp/
2009-03-27 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR c++/38638
* parser.c (cp_parser_elaborated_type_specifier): If we have a
typename tag and don't have either a TYPE_DECL or a
TEMPLATE_ID_EXPR, set the type to NULL.
gcc/testsuite/
2009-03-27 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR c++/38638
* g++.dg/template/typename17.C: New testcase.
* g++.dg/template/typename18.C: New testcase.
Added:
trunk/gcc/testsuite/g++.dg/template/typename17.C
trunk/gcc/testsuite/g++.dg/template/typename18.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/parser.c
trunk/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38638
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c++/38638] [4.3 regression] ICE superfluous 'typename'
2008-12-26 22:36 [Bug c++/38638] New: [4.2/4.3/4.4 regression] ICE superfluous 'typename' reichelt at gcc dot gnu dot org
` (6 preceding siblings ...)
2009-03-27 13:37 ` hjl at gcc dot gnu dot org
@ 2009-03-31 21:05 ` jsm28 at gcc dot gnu dot org
2009-04-16 15:45 ` pinskia at gcc dot gnu dot org
` (2 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: jsm28 at gcc dot gnu dot org @ 2009-03-31 21:05 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from jsm28 at gcc dot gnu dot org 2009-03-31 21:05 -------
Closing 4.2 branch.
--
jsm28 at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[4.2/4.3 regression] ICE |[4.3 regression] ICE
|superfluous 'typename' |superfluous 'typename'
Target Milestone|4.2.5 |4.3.4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38638
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c++/38638] [4.3 regression] ICE superfluous 'typename'
2008-12-26 22:36 [Bug c++/38638] New: [4.2/4.3/4.4 regression] ICE superfluous 'typename' reichelt at gcc dot gnu dot org
` (7 preceding siblings ...)
2009-03-31 21:05 ` [Bug c++/38638] [4.3 " jsm28 at gcc dot gnu dot org
@ 2009-04-16 15:45 ` pinskia at gcc dot gnu dot org
2009-08-04 12:45 ` rguenth at gcc dot gnu dot org
2009-11-08 4:18 ` jason at gcc dot gnu dot org
10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2009-04-16 15:45 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from pinskia at gcc dot gnu dot org 2009-04-16 15:45 -------
I am no longer working on this one.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|pinskia at gcc dot gnu dot |unassigned at gcc dot gnu
|org |dot org
Status|ASSIGNED |NEW
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38638
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c++/38638] [4.3 regression] ICE superfluous 'typename'
2008-12-26 22:36 [Bug c++/38638] New: [4.2/4.3/4.4 regression] ICE superfluous 'typename' reichelt at gcc dot gnu dot org
` (8 preceding siblings ...)
2009-04-16 15:45 ` pinskia at gcc dot gnu dot org
@ 2009-08-04 12:45 ` rguenth at gcc dot gnu dot org
2009-11-08 4:18 ` jason at gcc dot gnu dot org
10 siblings, 0 replies; 12+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-08-04 12:45 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from rguenth at gcc dot gnu dot org 2009-08-04 12:29 -------
GCC 4.3.4 is being released, adjusting target milestone.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.3.4 |4.3.5
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38638
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug c++/38638] [4.3 regression] ICE superfluous 'typename'
2008-12-26 22:36 [Bug c++/38638] New: [4.2/4.3/4.4 regression] ICE superfluous 'typename' reichelt at gcc dot gnu dot org
` (9 preceding siblings ...)
2009-08-04 12:45 ` rguenth at gcc dot gnu dot org
@ 2009-11-08 4:18 ` jason at gcc dot gnu dot org
10 siblings, 0 replies; 12+ messages in thread
From: jason at gcc dot gnu dot org @ 2009-11-08 4:18 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from jason at gcc dot gnu dot org 2009-11-08 04:18 -------
Fixed in 4.4.0, not going to fix in 4.3 branch.
--
jason at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
Target Milestone|4.3.5 |4.4.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38638
^ permalink raw reply [flat|nested] 12+ messages in thread