From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25227 invoked by alias); 11 Feb 2008 07:38:48 -0000 Received: (qmail 25147 invoked by uid 48); 11 Feb 2008 07:38:05 -0000 Date: Mon, 11 Feb 2008 07:38:00 -0000 Subject: [Bug c++/35159] New: g++ inoperable with no error message X-Bugzilla-Reason: CC Message-ID: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "nightstrike 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: 2008-02/txt/msg01152.txt.bz2 To summarize, c++ doesn't work in a native build for x86_64-pc-mingw32. We have found that not all of c++ is broken, and I've been narrowing it down further. The problem manifests itself as a segfault and ICE that is only visible when you use the -E switch -- otherwise, the failure is silent. This in and of itself I think is a bug, and we should report it to gcc. The segfault can be triggered by #including a c++ header like iostream or cmath. Further digging reveals that it's not all of the headers. I found that for instance cassert works fine. I've been able to narrow down cmath's failure due to including , and this might be the failure point for everything. I think I've found a reduced test case... #include #include template struct __enable_if { }; template struct __enable_if { typedef _Tp __type; }; int main() {return 0; } That code is taken from the ext/type_traits.h header. It doesn't give any error (and no segfault in the -E output), but it won't compile. If you get rid of the second template, it will compile and link to create an executable. This is, I think, getting much closer to the heart of the problem. I think we should post on gcc soon for this. -- Summary: g++ inoperable with no error message Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: nightstrike at gmail dot com GCC host triplet: x86_64-pc-mingw32 GCC target triplet: x86_64-pc-mingw32 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35159