Summary: | [4.0 Regression] ICE in cp_convert_to_pointer, at cp/cvt.c:83 | ||
---|---|---|---|
Product: | gcc | Reporter: | Michael Cieslinski <micis> |
Component: | c++ | Assignee: | Andrew Pinski <pinskia> |
Status: | RESOLVED FIXED | ||
Severity: | minor | CC: | gcc-bugs, reichelt |
Priority: | P2 | Keywords: | error-recovery, ice-checking, ice-on-invalid-code, monitored, patch |
Version: | 4.0.0 | ||
Target Milestone: | 4.0.0 | ||
Host: | Target: | ||
Build: | Known to work: | 3.4.2 | |
Known to fail: | 4.0.0 | Last reconfirmed: | 2004-09-22 19:46:16 |
Attachments: | mostly reduced preprocessed source |
Description
Michael Cieslinski
2004-09-22 19:06:38 UTC
Created attachment 7197 [details]
mostly reduced preprocessed source
Confirmed: Here's a reduced testcase: =============================== void foo() { p; (void*) p; } =============================== The ICE only happens with the C++ frontend, and not with the C frontend. Phils's regression tester says: : Search converges between 2004-03-01-trunk (#446) and 2004-04-01-trunk (#447). I have a fix. Patch here: <http://gcc.gnu.org/ml/gcc-patches/2004-09/msg02324.html>. Dear Mr Pinski, Thank you for the very fast reaction. In the morning I applied the patch, but unfortunately I couldn't compile my application because is was broken by my colleagues doing incomplete checkins. Today I'm in a meeting, but as soon as possible I will test it and post the result. Michael Cieslinski Subject: Bug 17618 CVSROOT: /cvs/gcc Module name: gcc Changes by: pinskia@gcc.gnu.org 2004-09-23 20:04:22 Modified files: gcc/cp : ChangeLog cvt.c Log message: 004-09-23 Andrew Pinski <pinskia@physics.uc.edu> PR c++/17618 * cvt.c (cp_convert_to_pointer): Return early when the type is an error_mark_node. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.4380&r2=1.4381 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cvt.c.diff?cvsroot=gcc&r1=1.165&r2=1.166 Fixed. Subject: Bug 17618 CVSROOT: /cvs/gcc Module name: gcc Changes by: pinskia@gcc.gnu.org 2004-09-23 20:16:48 Modified files: gcc/testsuite : ChangeLog Added files: gcc/testsuite/g++.dg/lookup: crash5.C Log message: 2004-09-23 Andrew Pinski <pinskia@physics.uc.edu> PR c++/17618 * g++.dg/lookup/crash5.C: New test. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.4336&r2=1.4337 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/lookup/crash5.C.diff?cvsroot=gcc&r1=NONE&r2=1.1 Subject: Bug 17618 CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-3_4-branch Changes by: reichelt@gcc.gnu.org 2005-10-11 00:39:26 Modified files: gcc/cp : ChangeLog cvt.c name-lookup.c typeck.c gcc/testsuite : ChangeLog Added files: gcc/testsuite/g++.dg/lookup: crash5.C forscope2.C gcc/testsuite/g++.dg/conversion: const3.C Log message: Backport: 2004-09-23 Andrew Pinski <pinskia@physics.uc.edu> PR c++/17618 * cvt.c (cp_convert_to_pointer): Return early when the type is an error_mark_node. 2004-05-22 Roger Sayle <roger@eyesopen.com> * name-lookup.c (check_for_out_of_scope_variable): Avoid ICE by returning when TREE_TYPE is error_mark_node. * typeck.c (require_complete_type): Return error_mark_node if value's type is an error_mark_node. 2004-11-02 Mark Mitchell <mark@codesourcery.com> PR c++/18177 * typeck.c (build_const_cast): Use error_operand_p. 2004-09-23 Andrew Pinski <pinskia@physics.uc.edu> PR c++/17618 * g++.dg/lookup/crash5.C: New test. 2004-05-22 Wolfgang Bangerth <bangerth@dealii.org> Roger Sayle <roger@eyesopen.com> * g++.dg/lookup/forscope2.C: New test case. 2004-11-02 Mark Mitchell <mark@codesourcery.com> PR c++/18177 * g++.dg/conversion/const3.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.245&r2=1.3892.2.246 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cvt.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.151.4.4&r2=1.151.4.5 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/name-lookup.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.34.2.25&r2=1.34.2.26 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/typeck.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.519.2.30&r2=1.519.2.31 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.440&r2=1.3389.2.441 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/lookup/crash5.C.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=NONE&r2=1.1.70.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/lookup/forscope2.C.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=NONE&r2=1.1.76.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/conversion/const3.C.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=NONE&r2=1.1.48.1 |