public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/17068] New: ICE: tree check: expected class 'd', have 'x' (identifier_node) in dependent_template_p, at cp/pt.c:12043
@ 2004-08-17 19:28 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
` (8 more replies)
0 siblings, 9 replies; 10+ messages in thread
From: v dot haisman at sh dot cvut dot cz @ 2004-08-17 19:28 UTC (permalink / raw)
To: gcc-bugs
Compiling the following testcase GCC ICEs with the error bellow.
The test case is derived from one configure test of libsigc++2.x.
struct Thing
{
template <class T>
void operator()(T a, T b)
{ }
};
template<class T2>
struct OtherThing
{
void do_something()
{
Thing thing_;
thing_.template operator()<T2>(1, 2);
}
};
wilx@logout:::~/tmp> g++ -c libsigc++-test.cxx
libsigc++-test.cxx: In member function `void OtherThing<T2>::do_something()':
libsigc++-test.cxx:14: internal compiler error: tree check: expected class 'd',
have 'x' (identifier_node) in dependent_template_p, at cp/pt.c:12043
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
--
Summary: ICE: tree check: expected class 'd', have 'x'
(identifier_node) in dependent_template_p, at
cp/pt.c:12043
Product: gcc
Version: 3.5.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: v dot haisman at sh dot cvut dot cz
CC: gcc-bugs at gcc dot gnu dot org,v dot haisman at sh dot
cvut dot cz
GCC build triplet: i386-unknown-freebsd4.10
GCC host triplet: i386-unknown-freebsd4.10
GCC target triplet: i386-unknown-freebsd4.10
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 ` 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 ` mmitchel at gcc dot gnu dot org
2004-08-18 18:34 ` cvs-commit 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
` (7 preceding siblings ...)
2004-08-18 18:34 ` mmitchel at gcc dot gnu dot org
@ 2004-08-18 18:34 ` cvs-commit 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
` (6 preceding siblings ...)
2004-08-18 18:25 ` cvs-commit at gcc dot gnu dot org
@ 2004-08-18 18:34 ` mmitchel at gcc dot gnu dot org
2004-08-18 18:34 ` cvs-commit 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
end of thread, other threads:[~2004-08-18 18:34 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
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
2004-08-18 18:34 ` mmitchel at gcc dot gnu dot org
2004-08-18 18:34 ` cvs-commit 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).