Summary: | [4.1 Regression] CbcModel.cpp:3571: internal compiler error: in compare_values, at tree-vrp.c:292 | ||
---|---|---|---|
Product: | gcc | Reporter: | devries |
Component: | c++ | Assignee: | Andrew Pinski <pinskia> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | fang, gcc-bugs, pinskia |
Priority: | P2 | Keywords: | ice-on-valid-code, patch |
Version: | 4.1.0 | ||
Target Milestone: | 4.1.0 | ||
URL: | http://gcc.gnu.org/ml/gcc-patches/2005-04/msg02623.html | ||
Host: | powerpc-apple-darwin7 | Target: | powerpc-apple-darwin7 |
Build: | Known to work: | ||
Known to fail: | Last reconfirmed: | 2005-04-24 13:29:43 | |
Attachments: |
this is the ii file that causes the trouble....
patch which should fix this |
Description
devries
2005-04-24 12:52:23 UTC
Created attachment 8723 [details]
this is the ii file that causes the trouble....
this file demonstrates the prob....
Reduced testcase: struct class1 { virtual ~class1 (); }; struct class2 : class1 { }; void f(class1 * oo) { class2 * oj = dynamic_cast <class2 *>(oo) ; if (oj) delete oo; } This is a latent bug in the C++ front-end with respect with dynamic_cast. if (oo.1 == 0) we have the wrong type already. Created attachment 8724 [details]
patch which should fix this
I am bootstrapping this fix right now.
Patch posted: <http://gcc.gnu.org/ml/gcc-patches/2005-04/msg02623.html>. Fixed. Subject: Bug 21188 CVSROOT: /cvs/gcc Module name: gcc Changes by: pinskia@gcc.gnu.org 2005-04-25 18:08:36 Modified files: gcc/testsuite : ChangeLog gcc/cp : ChangeLog rtti.c Added files: gcc/testsuite/g++.dg/opt: rtti2.C Log message: 2005-04-25 Andrew Pinski <pinskia@physics.uc.edu> PR C++/21188 * g++.dg/opt/rtti2.C: New test. 2005-04-25 Andrew Pinski <pinskia@physics.uc.edu> PR C++/21188 * rtti.c (ifnonnull): Cast the zero comparison operand to the correct type. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/opt/rtti2.C.diff?cvsroot=gcc&r1=NONE&r2=1.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.5394&r2=1.5395 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.4722&r2=1.4723 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/rtti.c.diff?cvsroot=gcc&r1=1.213&r2=1.214 |