public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/28051] New: [4.0/4.1/4.2 regression] ICE on invalid conversion operator
@ 2006-06-16 2:23 reichelt at gcc dot gnu dot org
2006-06-16 8:34 ` [Bug c++/28051] " reichelt at gcc dot gnu dot org
` (14 more replies)
0 siblings, 15 replies; 16+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2006-06-16 2:23 UTC (permalink / raw)
To: gcc-bugs
The following invalid code snippet causes an ICE since GCC 3.4.0:
============================================
template<int> struct A {};
template<int N> struct B : A<N>
{
using A<N>::operator typename A::X;
};
B<0> b;
============================================
bug.cc: In instantiation of 'B<0>':
bug.cc:8: instantiated from here
bug.cc:5: error: no type named 'X' in 'struct A<0>'
bug.cc:5: internal compiler error: tree check: expected class 'type', have
'exceptional' (error_mark) in mangle_conv_op_name_for_type, at cp/mangle.c:2826
Please submit a full bug report, [etc.]
--
Summary: [4.0/4.1/4.2 regression] ICE on invalid conversion
operator
Product: gcc
Version: 4.2.0
Status: UNCONFIRMED
Keywords: ice-on-invalid-code, error-recovery, monitored
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: reichelt at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28051
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug c++/28051] [4.0/4.1/4.2 regression] ICE on invalid conversion operator
2006-06-16 2:23 [Bug c++/28051] New: [4.0/4.1/4.2 regression] ICE on invalid conversion operator reichelt at gcc dot gnu dot org
@ 2006-06-16 8:34 ` reichelt at gcc dot gnu dot org
2006-06-16 17:46 ` pinskia at gcc dot gnu dot org
` (13 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2006-06-16 8:34 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from reichelt at gcc dot gnu dot org 2006-06-16 08:28 -------
With Mark's patch for PR 27665 the testcase is now correclty rejected,
but we still ICE with the following one:
=========================================================
template<int> struct A {};
template<int N> struct B : A<N>
{
using A<N>::operator typename A<N>::X;
};
B<0> b;
=========================================================
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28051
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug c++/28051] [4.0/4.1/4.2 regression] ICE on invalid conversion operator
2006-06-16 2:23 [Bug c++/28051] New: [4.0/4.1/4.2 regression] ICE on invalid conversion operator reichelt at gcc dot gnu dot org
2006-06-16 8:34 ` [Bug c++/28051] " reichelt at gcc dot gnu dot org
@ 2006-06-16 17:46 ` pinskia at gcc dot gnu dot org
2006-06-16 23:02 ` bangerth at dealii dot org
` (12 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-06-16 17:46 UTC (permalink / raw)
To: gcc-bugs
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Severity|normal |minor
Target Milestone|--- |4.0.4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28051
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug c++/28051] [4.0/4.1/4.2 regression] ICE on invalid conversion operator
2006-06-16 2:23 [Bug c++/28051] New: [4.0/4.1/4.2 regression] ICE on invalid conversion operator reichelt at gcc dot gnu dot org
2006-06-16 8:34 ` [Bug c++/28051] " reichelt at gcc dot gnu dot org
2006-06-16 17:46 ` pinskia at gcc dot gnu dot org
@ 2006-06-16 23:02 ` bangerth at dealii dot org
2006-06-18 21:40 ` lmillward at gcc dot gnu dot org
` (11 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: bangerth at dealii dot org @ 2006-06-16 23:02 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from bangerth at dealii dot org 2006-06-16 23:00 -------
Actually, 4.0.x is the only compiler that I can get to ICE:
g/x> /home/bangerth/bin/gcc-4.0.x/bin/c++ -O3 -c x.cc
x.cc: In instantiation of 'B<0>':
x.cc:8: instantiated from here
x.cc:5: error: no type named 'X' in 'struct A<0>'
x.cc:5: internal compiler error: tree check: expected class 'type', have
'exceptional' (error_mark) in mangle_conv_op_name_for_type, at cp/mangle.c:2778
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
All the other ones issue error messages without an ICE...
--
bangerth at dealii dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |bangerth at dealii dot org
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2006-06-16 23:00:37
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28051
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug c++/28051] [4.0/4.1/4.2 regression] ICE on invalid conversion operator
2006-06-16 2:23 [Bug c++/28051] New: [4.0/4.1/4.2 regression] ICE on invalid conversion operator reichelt at gcc dot gnu dot org
` (2 preceding siblings ...)
2006-06-16 23:02 ` bangerth at dealii dot org
@ 2006-06-18 21:40 ` lmillward at gcc dot gnu dot org
2006-06-25 11:08 ` lmillward at gcc dot gnu dot org
` (10 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: lmillward at gcc dot gnu dot org @ 2006-06-18 21:40 UTC (permalink / raw)
To: gcc-bugs
--
lmillward at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |lmillward at gcc dot gnu dot
|dot org |org
Status|NEW |ASSIGNED
Last reconfirmed|2006-06-16 23:00:37 |2006-06-18 21:40:20
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28051
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug c++/28051] [4.0/4.1/4.2 regression] ICE on invalid conversion operator
2006-06-16 2:23 [Bug c++/28051] New: [4.0/4.1/4.2 regression] ICE on invalid conversion operator reichelt at gcc dot gnu dot org
` (3 preceding siblings ...)
2006-06-18 21:40 ` lmillward at gcc dot gnu dot org
@ 2006-06-25 11:08 ` lmillward at gcc dot gnu dot org
2006-06-25 11:28 ` [Bug c++/28051] [4.0/4.1 " lmillward at gcc dot gnu dot org
` (9 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: lmillward at gcc dot gnu dot org @ 2006-06-25 11:08 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from lmillward at gcc dot gnu dot org 2006-06-25 11:07 -------
Subject: Bug 28051
Author: lmillward
Date: Sun Jun 25 11:07:05 2006
New Revision: 114985
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=114985
Log:
PR c++/28051
* mangle.c (mangle_conv_op_name_for_type): Check for
invalid types.
*name-lookup.c (push_class_level_binding): Robustify.
(do_class_using_decl): Return early if name is error_mark_node.
Added:
trunk/gcc/testsuite/g++.dg/template/using13.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/mangle.c
trunk/gcc/cp/name-lookup.c
trunk/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28051
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug c++/28051] [4.0/4.1 regression] ICE on invalid conversion operator
2006-06-16 2:23 [Bug c++/28051] New: [4.0/4.1/4.2 regression] ICE on invalid conversion operator reichelt at gcc dot gnu dot org
` (4 preceding siblings ...)
2006-06-25 11:08 ` lmillward at gcc dot gnu dot org
@ 2006-06-25 11:28 ` lmillward at gcc dot gnu dot org
2006-06-29 21:37 ` patchapp at dberlin dot org
` (8 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: lmillward at gcc dot gnu dot org @ 2006-06-25 11:28 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from lmillward at gcc dot gnu dot org 2006-06-25 11:07 -------
Fixed on mainline.
--
lmillward at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[4.0/4.1/4.2 regression] ICE|[4.0/4.1 regression] ICE on
|on invalid conversion |invalid conversion operator
|operator |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28051
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug c++/28051] [4.0/4.1 regression] ICE on invalid conversion operator
2006-06-16 2:23 [Bug c++/28051] New: [4.0/4.1/4.2 regression] ICE on invalid conversion operator reichelt at gcc dot gnu dot org
` (5 preceding siblings ...)
2006-06-25 11:28 ` [Bug c++/28051] [4.0/4.1 " lmillward at gcc dot gnu dot org
@ 2006-06-29 21:37 ` patchapp at dberlin dot org
2006-07-11 17:25 ` lmillward at gcc dot gnu dot org
` (7 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: patchapp at dberlin dot org @ 2006-06-29 21:37 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from patchapp at dberlin dot org 2006-06-29 21:37 -------
Subject: Bug number PR c++/28051
A patch for this bug has been added to the patch tracker.
The mailing list url for the patch is
http://gcc.gnu.org/ml/gcc-patches/2006-06/msg00981.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28051
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug c++/28051] [4.0/4.1 regression] ICE on invalid conversion operator
2006-06-16 2:23 [Bug c++/28051] New: [4.0/4.1/4.2 regression] ICE on invalid conversion operator reichelt at gcc dot gnu dot org
` (6 preceding siblings ...)
2006-06-29 21:37 ` patchapp at dberlin dot org
@ 2006-07-11 17:25 ` lmillward at gcc dot gnu dot org
2006-07-11 17:37 ` lmillward at gcc dot gnu dot org
` (6 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: lmillward at gcc dot gnu dot org @ 2006-07-11 17:25 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from lmillward at gcc dot gnu dot org 2006-07-11 17:25 -------
Subject: Bug 28051
Author: lmillward
Date: Tue Jul 11 17:25:01 2006
New Revision: 115347
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115347
Log:
PR c++/28051
* mangle.c (mangle_conv_op_name_for_type): Check for
invalid types.
* name-lookup.c (push_class_level_binding): Robustify.
(do_class_using_decl): Return early if name is
error_mark_node.
Added:
branches/gcc-4_1-branch/gcc/testsuite/g++.dg/template/using13.C
Modified:
branches/gcc-4_1-branch/gcc/cp/ChangeLog
branches/gcc-4_1-branch/gcc/cp/mangle.c
branches/gcc-4_1-branch/gcc/cp/name-lookup.c
branches/gcc-4_1-branch/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28051
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug c++/28051] [4.0/4.1 regression] ICE on invalid conversion operator
2006-06-16 2:23 [Bug c++/28051] New: [4.0/4.1/4.2 regression] ICE on invalid conversion operator reichelt at gcc dot gnu dot org
` (7 preceding siblings ...)
2006-07-11 17:25 ` lmillward at gcc dot gnu dot org
@ 2006-07-11 17:37 ` lmillward at gcc dot gnu dot org
2006-07-11 17:38 ` lmillward at gcc dot gnu dot org
` (5 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: lmillward at gcc dot gnu dot org @ 2006-07-11 17:37 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from lmillward at gcc dot gnu dot org 2006-07-11 17:37 -------
Subject: Bug 28051
Author: lmillward
Date: Tue Jul 11 17:37:31 2006
New Revision: 115352
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115352
Log:
PR c++/28051
* mangle.c (mangle_conv_op_name_for_type): Check for
invalid types.
* name-lookup.c (push_class_level_binding): Robustify.
(do_class_using_decl): Return early if name is
error_mark_node.
Added:
branches/gcc-4_0-branch/gcc/testsuite/g++.dg/template/using10.C
Modified:
branches/gcc-4_0-branch/gcc/cp/ChangeLog
branches/gcc-4_0-branch/gcc/cp/mangle.c
branches/gcc-4_0-branch/gcc/cp/name-lookup.c
branches/gcc-4_0-branch/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28051
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug c++/28051] [4.0/4.1 regression] ICE on invalid conversion operator
2006-06-16 2:23 [Bug c++/28051] New: [4.0/4.1/4.2 regression] ICE on invalid conversion operator reichelt at gcc dot gnu dot org
` (8 preceding siblings ...)
2006-07-11 17:37 ` lmillward at gcc dot gnu dot org
@ 2006-07-11 17:38 ` lmillward at gcc dot gnu dot org
2006-07-13 13:14 ` [Bug c++/28051] [4.0 " reichelt at gcc dot gnu dot org
` (4 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: lmillward at gcc dot gnu dot org @ 2006-07-11 17:38 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from lmillward at gcc dot gnu dot org 2006-07-11 17:38 -------
Fixed in 4.1.2 and 4.0.4
--
lmillward at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28051
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug c++/28051] [4.0 regression] ICE on invalid conversion operator
2006-06-16 2:23 [Bug c++/28051] New: [4.0/4.1/4.2 regression] ICE on invalid conversion operator reichelt at gcc dot gnu dot org
` (9 preceding siblings ...)
2006-07-11 17:38 ` lmillward at gcc dot gnu dot org
@ 2006-07-13 13:14 ` reichelt at gcc dot gnu dot org
2006-07-13 17:33 ` lmillward at gcc dot gnu dot org
` (3 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: reichelt at gcc dot gnu dot org @ 2006-07-13 13:14 UTC (permalink / raw)
To: gcc-bugs
------- Comment #9 from reichelt at gcc dot gnu dot org 2006-07-13 13:14 -------
The bug is not fixed on the 4.0 branch.
The ICE only happens in a different position:
bug.cc: In instantiation of 'B<0>':
bug.cc:8: instantiated from here
bug.cc:5: error: no type named 'X' in 'struct A<0>'
bug.cc:4: internal compiler error: in lookup_member, at cp/search.c:1204
Please submit a full bug report, [etc.]
Since the testcase was already added to the testsuite we now have a new FAIL:
FAIL: g++.dg/template/using10.C (test for excess errors)
--
reichelt at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
Resolution|FIXED |
Summary|[4.0/4.1 regression] ICE on |[4.0 regression] ICE on
|invalid conversion operator |invalid conversion operator
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28051
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug c++/28051] [4.0 regression] ICE on invalid conversion operator
2006-06-16 2:23 [Bug c++/28051] New: [4.0/4.1/4.2 regression] ICE on invalid conversion operator reichelt at gcc dot gnu dot org
` (10 preceding siblings ...)
2006-07-13 13:14 ` [Bug c++/28051] [4.0 " reichelt at gcc dot gnu dot org
@ 2006-07-13 17:33 ` lmillward at gcc dot gnu dot org
2006-07-15 20:39 ` lmillward at gcc dot gnu dot org
` (2 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: lmillward at gcc dot gnu dot org @ 2006-07-13 17:33 UTC (permalink / raw)
To: gcc-bugs
------- Comment #10 from lmillward at gcc dot gnu dot org 2006-07-13 17:33 -------
Weird, I bootstrapped and tested this patch on the 4.0 branch not long before
applying. I'll take a look and see if I can see why the new testcase is
ICE'ing.
--
lmillward at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |lmillward at gcc dot gnu dot
| |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28051
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug c++/28051] [4.0 regression] ICE on invalid conversion operator
2006-06-16 2:23 [Bug c++/28051] New: [4.0/4.1/4.2 regression] ICE on invalid conversion operator reichelt at gcc dot gnu dot org
` (11 preceding siblings ...)
2006-07-13 17:33 ` lmillward at gcc dot gnu dot org
@ 2006-07-15 20:39 ` lmillward at gcc dot gnu dot org
2006-07-17 18:21 ` lmillward at gcc dot gnu dot org
2006-07-17 18:23 ` lmillward at gcc dot gnu dot org
14 siblings, 0 replies; 16+ messages in thread
From: lmillward at gcc dot gnu dot org @ 2006-07-15 20:39 UTC (permalink / raw)
To: gcc-bugs
------- Comment #11 from lmillward at gcc dot gnu dot org 2006-07-15 20:38 -------
I've posted a patch which fixes the bug properly on the 4.0 branch and allows
the testcase added to pass.
URL - http://gcc.gnu.org/ml/gcc-patches/2006-07/msg00689.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28051
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug c++/28051] [4.0 regression] ICE on invalid conversion operator
2006-06-16 2:23 [Bug c++/28051] New: [4.0/4.1/4.2 regression] ICE on invalid conversion operator reichelt at gcc dot gnu dot org
` (12 preceding siblings ...)
2006-07-15 20:39 ` lmillward at gcc dot gnu dot org
@ 2006-07-17 18:21 ` lmillward at gcc dot gnu dot org
2006-07-17 18:23 ` lmillward at gcc dot gnu dot org
14 siblings, 0 replies; 16+ messages in thread
From: lmillward at gcc dot gnu dot org @ 2006-07-17 18:21 UTC (permalink / raw)
To: gcc-bugs
------- Comment #12 from lmillward at gcc dot gnu dot org 2006-07-17 18:21 -------
Subject: Bug 28051
Author: lmillward
Date: Mon Jul 17 18:21:15 2006
New Revision: 115530
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115530
Log:
PR c++/28051
* search.c (lookup_member): Robustify
* g++.dg/template/using10.C: Adjust error markers.
Modified:
branches/gcc-4_0-branch/gcc/cp/ChangeLog
branches/gcc-4_0-branch/gcc/cp/search.c
branches/gcc-4_0-branch/gcc/testsuite/ChangeLog
branches/gcc-4_0-branch/gcc/testsuite/g++.dg/template/using10.C
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28051
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug c++/28051] [4.0 regression] ICE on invalid conversion operator
2006-06-16 2:23 [Bug c++/28051] New: [4.0/4.1/4.2 regression] ICE on invalid conversion operator reichelt at gcc dot gnu dot org
` (13 preceding siblings ...)
2006-07-17 18:21 ` lmillward at gcc dot gnu dot org
@ 2006-07-17 18:23 ` lmillward at gcc dot gnu dot org
14 siblings, 0 replies; 16+ messages in thread
From: lmillward at gcc dot gnu dot org @ 2006-07-17 18:23 UTC (permalink / raw)
To: gcc-bugs
------- Comment #13 from lmillward at gcc dot gnu dot org 2006-07-17 18:22 -------
Fix applied to 4.0 branch which should resolve the testsuite failure mentioned.
--
lmillward at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|REOPENED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28051
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2006-07-17 18:23 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-06-16 2:23 [Bug c++/28051] New: [4.0/4.1/4.2 regression] ICE on invalid conversion operator reichelt at gcc dot gnu dot org
2006-06-16 8:34 ` [Bug c++/28051] " reichelt at gcc dot gnu dot org
2006-06-16 17:46 ` pinskia at gcc dot gnu dot org
2006-06-16 23:02 ` bangerth at dealii dot org
2006-06-18 21:40 ` lmillward at gcc dot gnu dot org
2006-06-25 11:08 ` lmillward at gcc dot gnu dot org
2006-06-25 11:28 ` [Bug c++/28051] [4.0/4.1 " lmillward at gcc dot gnu dot org
2006-06-29 21:37 ` patchapp at dberlin dot org
2006-07-11 17:25 ` lmillward at gcc dot gnu dot org
2006-07-11 17:37 ` lmillward at gcc dot gnu dot org
2006-07-11 17:38 ` lmillward at gcc dot gnu dot org
2006-07-13 13:14 ` [Bug c++/28051] [4.0 " reichelt at gcc dot gnu dot org
2006-07-13 17:33 ` lmillward at gcc dot gnu dot org
2006-07-15 20:39 ` lmillward at gcc dot gnu dot org
2006-07-17 18:21 ` lmillward at gcc dot gnu dot org
2006-07-17 18:23 ` lmillward 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).