| Summary: | [3.4/4.0/4.1 Regression] Another segmentation fault after improper overloading (BootView) | ||
|---|---|---|---|
| Product: | gcc | Reporter: | Flash Sheridan <flash> |
| Component: | c++ | Assignee: | Nathan Sidwell <nathan> |
| Status: | RESOLVED FIXED | ||
| Severity: | minor | CC: | gcc-bugs, reichelt |
| Priority: | P2 | Keywords: | error-recovery, ice-on-invalid-code, monitored, patch |
| Version: | 4.0.1 | ||
| Target Milestone: | 4.0.3 | ||
| URL: | http://gcc.gnu.org/ml/gcc-patches/2005-08/msg00821.html | ||
| Host: | Target: | ||
| Build: | Known to work: | 3.3.3 | |
| Known to fail: | 3.4.0 4.0.0 4.1.0 | Last reconfirmed: | 2005-10-13 20:14:00 |
| Attachments: | 105158_BootView_min.ii | ||
|
Description
Flash Sheridan
2005-07-28 19:56:52 UTC
Created attachment 9381 [details]
105158_BootView_min.ii
Confirmed, the main reason why I said it was a different bug is because the backtraces are different. The second reason why I know it is a different bug is that this bug we crash in 3.4.0 also (though with "t.cc:2: confused by earlier errors, bailing out" but that is just an ICE after a couple of errors). Less invalid ;-) testcase:
==========================
struct A
{
void foo();
virtual void foo();
};
==========================
This crashes since gcc 3.0.
Testing a patch. : Search converges between 2001-06-03-trunk (#22) and 2001-06-10-trunk (#23). I'll take a look Subject: Bug 23118 CVSROOT: /cvs/gcc Module name: gcc Changes by: nathan@gcc.gnu.org 2005-10-18 12:30:33 Modified files: gcc/cp : ChangeLog cp-tree.h class.c semantics.c gcc/testsuite : ChangeLog Added files: gcc/testsuite/g++.dg/overload: error2.C gcc/testsuite/g++.dg/inherit: covariant14.C Log message: cp: PR c++/22604 * class.c (update_vtable_entry_for_fn): Don't process invalid covariant overriders. PR c++/23118 * cp-tree.h (add_method): Add return value. * class.c (add_method): Return success indicator. * semantics.c (finish_member_declaration): Don't add an invalid method to the method list. testsuite: PR c++/23118 * g++.dg/overload/error2.C: New. PR c++/22604 * g++.dg/inherit/covariant14.C: New. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.4944&r2=1.4945 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cp-tree.h.diff?cvsroot=gcc&r1=1.1168&r2=1.1169 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/class.c.diff?cvsroot=gcc&r1=1.737&r2=1.738 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/semantics.c.diff?cvsroot=gcc&r1=1.493&r2=1.494 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.6207&r2=1.6208 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/overload/error2.C.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/inherit/covariant14.C.diff?cvsroot=gcc&r1=NONE&r2=1.1 Subject: Bug 23118 CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-4_0-branch Changes by: nathan@gcc.gnu.org 2005-10-18 12:34:30 Modified files: gcc/cp : ChangeLog cp-tree.h class.c semantics.c gcc/testsuite : ChangeLog Added files: gcc/testsuite/g++.dg/overload: error2.C gcc/testsuite/g++.dg/inherit: covariant14.C Log message: cp: PR c++/22604 * class.c (update_vtable_entry_for_fn): Don't process invalid covariant overriders. PR c++/23118 * cp-tree.h (add_method): Add return value. * class.c (add_method): Return success indicator. * semantics.c (finish_member_declaration): Don't add an invalid method to the method list. testsuite: PR c++/23118 * g++.dg/overload/error2.C: New. PR c++/22604 * g++.dg/inherit/covariant14.C: New. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.4648.2.142&r2=1.4648.2.143 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cp-tree.h.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.1106.2.17&r2=1.1106.2.18 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/class.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.707.2.8&r2=1.707.2.9 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/semantics.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.463.2.12&r2=1.463.2.13 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.5084.2.466&r2=1.5084.2.467 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/overload/error2.C.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.2.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/inherit/covariant14.C.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=NONE&r2=1.1.2.1 fixed mainline & 4.0 2005-10-18 Nathan Sidwell <nathan@codesourcery.com> PR c++/22604 * class.c (update_vtable_entry_for_fn): Don't process invalid covariant overriders. PR c++/23118 * cp-tree.h (add_method): Add return value. * class.c (add_method): Return success indicator. * semantics.c (finish_member_declaration): Don't add an invalid method to the method list. wont fix 3.4 |