From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32146 invoked by alias); 29 Sep 2007 17:56:00 -0000 Received: (qmail 32131 invoked by uid 48); 29 Sep 2007 17:55:50 -0000 Date: Sat, 29 Sep 2007 17:56:00 -0000 Subject: [Bug c++/33589] New: [4.3 regression] ICE on valid code at -O2: verify_flow_info failed X-Bugzilla-Reason: CC Message-ID: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "a dot chavasse at gmail dot com" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2007-09/txt/msg02423.txt.bz2 g++43 -v output: Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: ../gcc/configure --program-suffix=43 --disable-multilib --enable-languages=c,c++ Thread model: posix gcc version 4.3.0 20070929 (experimental) (GCC) Built from svn trunk, revision 128885 Compiling this with -O2 or -O3 fails with the following message: verify_flow_info_failed.cpp: In function 'void somefunction()': verify_flow_info_failed.cpp:29: error: BB 2 last statement has incorrectly set region verify_flow_info_failed.cpp:29: internal compiler error: verify_flow_info failed struct base { void somemethod() {} }; struct derived : public base { }; struct smartpointer { ~smartpointer() { } operator derived*() const { return 0; } }; typedef void ( derived::* methodptr_type )(); methodptr_type getmemberptr() { return &derived::somemethod; } void somefunction() { smartpointer pObj; ( pObj->*getmemberptr() )(); } -- Summary: [4.3 regression] ICE on valid code at -O2: verify_flow_info failed Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: a dot chavasse at gmail dot com GCC build triplet: x86_64-unknown-linux-gnu GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33589