From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 110741 invoked by alias); 7 Mar 2015 11:09:18 -0000 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 Received: (qmail 110652 invoked by uid 48); 7 Mar 2015 11:09:15 -0000 From: "mingw.android at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/61207] [4.9 Regression] Win64 gcc 4.9.0: ICE in in expand_expr_addr_expr_1 at -Os compiling some C++ code Date: Sat, 07 Mar 2015 11:09:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: middle-end X-Bugzilla-Version: 4.9.2 X-Bugzilla-Keywords: ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: mingw.android at gmail dot com X-Bugzilla-Status: NEW X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cc Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2015-03/txt/msg00779.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61207 Ray Donnelly changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mingw.android at gmail dot com --- Comment #8 from Ray Donnelly --- Regarding https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61207#c5 It's not a question of being able to get the source code, it's about reducing the code to the minimum amount that exhibits the bug. In the old days (maybe still now?) gccbug would be used, now-a-days, creduce works well. Here is the testcase from Boost: // reduced test case: namespace std { class basic_string typedef string; class basic_string { public: basic_string(char *, unsigned); }; } class A { public: A(char); size(); char *begin(); *m_begin; *m_end; }; enum output_format {}; namespace std { class runtime_error { public: runtime_error(string); }; } struct B : std::runtime_error { B(A m) : runtime_error(std::string(m.begin(), m.size())) {} }; fn1(int, output_format) { B(0); B(0); } // elapsed time: 30405 seconds Compiling with MSYS2's mingw64/mingw-w64-x86_64-gcc 4.9.2-4 package with: /mingw64/bin/g++ -Os testcase.ii Gives: internal compiler error: in expand_expr_addr_expr_1, at expr.c:7669