* [Bug c++/17068] [3.4/3.5 regression] ICE: tree check: expected class 'd', have 'x' (identifier_node) in dependent_template_p, at cp/pt.c:12043
2004-08-17 19:28 [Bug c++/17068] New: ICE: tree check: expected class 'd', have 'x' (identifier_node) in dependent_template_p, at cp/pt.c:12043 v dot haisman at sh dot cvut dot cz
@ 2004-08-17 19:55 ` reichelt at gcc dot gnu dot org
2004-08-17 20:15 ` bangerth at dealii dot org
` (7 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2004-08-17 19:55 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From reichelt at gcc dot gnu dot org 2004-08-17 19:55 -------
Confirmed. Here's a reduced code snippet:
=============================================
struct A
{
template<int> void operator()() {}
};
template<typename> void foo()
{
A().template operator()<0>();
}
=============================================
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |reichelt at gcc dot gnu dot
| |org
Severity|normal |critical
Status|UNCONFIRMED |NEW
Ever Confirmed| |1
GCC build triplet|i386-unknown-freebsd4.10 |
GCC host triplet|i386-unknown-freebsd4.10 |
GCC target triplet|i386-unknown-freebsd4.10 |
Keywords| |ice-on-valid-code, monitored
Known to fail| |3.4.0 3.4.1 3.5.0
Known to work| |3.3.4
Last reconfirmed|0000-00-00 00:00:00 |2004-08-17 19:55:10
date| |
Summary|ICE: tree check: expected |[3.4/3.5 regression] ICE:
|class 'd', have 'x' |tree check: expected class
|(identifier_node) in |'d', have 'x'
|dependent_template_p, at |(identifier_node) in
|cp/pt.c:12043 |dependent_template_p, at
| |cp/pt.c:12043
Target Milestone|--- |3.4.2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17068
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug c++/17068] [3.4/3.5 regression] ICE: tree check: expected class 'd', have 'x' (identifier_node) in dependent_template_p, at cp/pt.c:12043
2004-08-17 19:28 [Bug c++/17068] New: ICE: tree check: expected class 'd', have 'x' (identifier_node) in dependent_template_p, at cp/pt.c:12043 v dot haisman at sh dot cvut dot cz
2004-08-17 19:55 ` [Bug c++/17068] [3.4/3.5 regression] " reichelt at gcc dot gnu dot org
@ 2004-08-17 20:15 ` bangerth at dealii dot org
2004-08-17 20:23 ` pinskia at gcc dot gnu dot org
` (6 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: bangerth at dealii dot org @ 2004-08-17 20:15 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From bangerth at dealii dot org 2004-08-17 20:15 -------
Well done, Volker: this intriguing anagramatic sequence in your testcase
()<0>()
clearly asks for an award for "art in testcases" :-)
W.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17068
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug c++/17068] [3.4/3.5 regression] ICE: tree check: expected class 'd', have 'x' (identifier_node) in dependent_template_p, at cp/pt.c:12043
2004-08-17 19:28 [Bug c++/17068] New: ICE: tree check: expected class 'd', have 'x' (identifier_node) in dependent_template_p, at cp/pt.c:12043 v dot haisman at sh dot cvut dot cz
2004-08-17 19:55 ` [Bug c++/17068] [3.4/3.5 regression] " reichelt at gcc dot gnu dot org
2004-08-17 20:15 ` bangerth at dealii dot org
@ 2004-08-17 20:23 ` pinskia at gcc dot gnu dot org
2004-08-17 21:11 ` reichelt at gcc dot gnu dot org
` (5 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-08-17 20:23 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-08-17 20:23 -------
: Search converges between 2003-07-08-trunk (#288) and 2003-07-09-trunk (#289).
I almost think it was caused by:
2003-07-08 Mark Mitchell <mark@codesourcery.com>
* cp-tree.def (NON_DEPENDENT_EXPR): New node.
* cp-tree.h (build_call_from_tree): Remove.
(build_member_call): Likewise.
...., etc.
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |mark at codesourcery dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17068
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug c++/17068] [3.4/3.5 regression] ICE: tree check: expected class 'd', have 'x' (identifier_node) in dependent_template_p, at cp/pt.c:12043
2004-08-17 19:28 [Bug c++/17068] New: ICE: tree check: expected class 'd', have 'x' (identifier_node) in dependent_template_p, at cp/pt.c:12043 v dot haisman at sh dot cvut dot cz
` (2 preceding siblings ...)
2004-08-17 20:23 ` pinskia at gcc dot gnu dot org
@ 2004-08-17 21:11 ` reichelt at gcc dot gnu dot org
2004-08-17 21:44 ` bangerth at dealii dot org
` (4 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2004-08-17 21:11 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From reichelt at gcc dot gnu dot org 2004-08-17 21:11 -------
> ------- Additional Comments From bangerth at dealii dot org 2004-08-17 20:15
-------
> Well done, Volker: this intriguing anagramatic sequence in your testcase
> ()<0>()
> clearly asks for an award for "art in testcases" :-)
Well, I couldn't help it - I had to find a really symmetric testcase. :-)
And here it is (it's a modified version from PR 16971). You can read
it forwards and backwards (well, you have to revert the braces):
=============================================
namespace { ; int tni ; int tni ; } ecapseman
=============================================
The error message mainline used to give was:
:1:C.C:1: error: redefinition of `int <unnamed>::tni'
:1:C.C:1: error: `int <unnamed>::tni' previously declared here
:1:C.C:1: internal compiler error: tree check: expected class 'd', have 'x'
(error_mark) in cp_parser_init_declarator, at cp/parser.c:10717
Please submit a full bug report, [etc.]
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17068
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug c++/17068] [3.4/3.5 regression] ICE: tree check: expected class 'd', have 'x' (identifier_node) in dependent_template_p, at cp/pt.c:12043
2004-08-17 19:28 [Bug c++/17068] New: ICE: tree check: expected class 'd', have 'x' (identifier_node) in dependent_template_p, at cp/pt.c:12043 v dot haisman at sh dot cvut dot cz
` (3 preceding siblings ...)
2004-08-17 21:11 ` reichelt at gcc dot gnu dot org
@ 2004-08-17 21:44 ` bangerth at dealii dot org
2004-08-18 3:28 ` mmitchel at gcc dot gnu dot org
` (3 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: bangerth at dealii dot org @ 2004-08-17 21:44 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From bangerth at dealii dot org 2004-08-17 21:44 -------
Extremely cool. Also the choice of filename is very innovative.
I'm almost thinking we should have a metabug for cases like this. In
the spirit of PR 5 :-)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17068
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug c++/17068] [3.4/3.5 regression] ICE: tree check: expected class 'd', have 'x' (identifier_node) in dependent_template_p, at cp/pt.c:12043
2004-08-17 19:28 [Bug c++/17068] New: ICE: tree check: expected class 'd', have 'x' (identifier_node) in dependent_template_p, at cp/pt.c:12043 v dot haisman at sh dot cvut dot cz
` (4 preceding siblings ...)
2004-08-17 21:44 ` bangerth at dealii dot org
@ 2004-08-18 3:28 ` mmitchel at gcc dot gnu dot org
2004-08-18 18:25 ` cvs-commit at gcc dot gnu dot org
` (2 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-08-18 3:28 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From mmitchel at gcc dot gnu dot org 2004-08-18 03:28 -------
Working on a fix.
--
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |mark at codesourcery dot com
|dot org |
Status|NEW |ASSIGNED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17068
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug c++/17068] [3.4/3.5 regression] ICE: tree check: expected class 'd', have 'x' (identifier_node) in dependent_template_p, at cp/pt.c:12043
2004-08-17 19:28 [Bug c++/17068] New: ICE: tree check: expected class 'd', have 'x' (identifier_node) in dependent_template_p, at cp/pt.c:12043 v dot haisman at sh dot cvut dot cz
` (5 preceding siblings ...)
2004-08-18 3:28 ` mmitchel at gcc dot gnu dot org
@ 2004-08-18 18:25 ` cvs-commit at gcc dot gnu dot org
2004-08-18 18:34 ` cvs-commit at gcc dot gnu dot org
2004-08-18 18:34 ` mmitchel at gcc dot gnu dot org
8 siblings, 0 replies; 10+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2004-08-18 18:25 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-08-18 18:25 -------
Subject: Bug 17068
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: mmitchel@gcc.gnu.org 2004-08-18 18:25:10
Modified files:
gcc/cp : ChangeLog pt.c
gcc/testsuite : ChangeLog
Added files:
gcc/testsuite/g++.dg/template: operator4.C
Log message:
PR c++/17068
* pt.c (dependent_template_p): Treat IDENTIFIER_NODEs as
dependent.
PR c++/17068
* g++.dg/template/operator4.C: New test.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.4281&r2=1.4282
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/pt.c.diff?cvsroot=gcc&r1=1.907&r2=1.908
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.4155&r2=1.4156
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/operator4.C.diff?cvsroot=gcc&r1=NONE&r2=1.1
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17068
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug c++/17068] [3.4/3.5 regression] ICE: tree check: expected class 'd', have 'x' (identifier_node) in dependent_template_p, at cp/pt.c:12043
2004-08-17 19:28 [Bug c++/17068] New: ICE: tree check: expected class 'd', have 'x' (identifier_node) in dependent_template_p, at cp/pt.c:12043 v dot haisman at sh dot cvut dot cz
` (6 preceding siblings ...)
2004-08-18 18:25 ` cvs-commit at gcc dot gnu dot org
@ 2004-08-18 18:34 ` cvs-commit at gcc dot gnu dot org
2004-08-18 18:34 ` mmitchel at gcc dot gnu dot org
8 siblings, 0 replies; 10+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2004-08-18 18:34 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-08-18 18:34 -------
Subject: Bug 17068
CVSROOT: /cvs/gcc
Module name: gcc
Branch: gcc-3_4-branch
Changes by: mmitchel@gcc.gnu.org 2004-08-18 18:34:26
Modified files:
gcc/cp : ChangeLog pt.c
gcc/testsuite : ChangeLog
Added files:
gcc/testsuite/g++.dg/template: operator4.C
Log message:
PR c++/17068
* pt.c (dependent_template_p): Treat IDENTIFIER_NODEs as
dependent.
PR c++/17068
* g++.dg/template/operator4.C: New test.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.3892.2.147&r2=1.3892.2.148
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/pt.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.816.2.39&r2=1.816.2.40
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.3389.2.250&r2=1.3389.2.251
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/operator4.C.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=NONE&r2=1.1.2.1
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17068
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug c++/17068] [3.4/3.5 regression] ICE: tree check: expected class 'd', have 'x' (identifier_node) in dependent_template_p, at cp/pt.c:12043
2004-08-17 19:28 [Bug c++/17068] New: ICE: tree check: expected class 'd', have 'x' (identifier_node) in dependent_template_p, at cp/pt.c:12043 v dot haisman at sh dot cvut dot cz
` (7 preceding siblings ...)
2004-08-18 18:34 ` cvs-commit at gcc dot gnu dot org
@ 2004-08-18 18:34 ` mmitchel at gcc dot gnu dot org
8 siblings, 0 replies; 10+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2004-08-18 18:34 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From mmitchel at gcc dot gnu dot org 2004-08-18 18:34 -------
Fixed in GCC 3.4.2.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17068
^ permalink raw reply [flat|nested] 10+ messages in thread