From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6669 invoked by alias); 30 Dec 2011 17:27:14 -0000 Received: (qmail 6657 invoked by uid 22791); 30 Dec 2011 17:27:12 -0000 X-SWARE-Spam-Status: No, hits=-2.8 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00,TW_SG X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 30 Dec 2011 17:27:00 +0000 From: "sgk at troutmask dot apl.washington.edu" To: gcc-bugs@gcc.gnu.org Subject: [Bug bootstrap/51705] FreeBSD uses unsupported C++11 features when __cplusplus == 201103L Date: Fri, 30 Dec 2011 17:30:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: bootstrap X-Bugzilla-Keywords: X-Bugzilla-Severity: blocker X-Bugzilla-Who: sgk at troutmask dot apl.washington.edu X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P1 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 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: 2011-12/txt/msg02837.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51705 --- Comment #20 from Steve Kargl 2011-12-30 17:26:30 UTC --- On Fri, Dec 30, 2011 at 10:45:38AM +0000, andreast at gcc dot gnu.org wrote: > With the below 'hack' I'm able to bootstrap on x86_64-*-freebsd10.0. > I'm not sure why my system does not like the original four escape backslashes > in the select and sed line. > > The diff between the sys/cdefs.h and the fixed sys/cdefs.h looks like this: > > -#define _Noreturn [[noreturn]] > +#define _Noreturn __dead2 > > + * g++ -std=c++11 defines __cplusplus to 201103L, which lies about > + * the level of support g++ has for the C++11 standard. > + */ > +fix = { > + hackname = cdef_cplusplus; > + mach = "*-*-freebsd10.*"; > + files = sys/cdefs.h; > + select = "\\[\\[noreturn\\]\\]"; > + sed = "s/\\[\\[noreturn\\]\\]/__dead2/"; Are you using bash and GNU sed instead of FreeBSD's sh and sed? When I used the above patterns, the changed file contained #define _Noreturn [[noreturn__dead2]