From owner-svn-src-all@FreeBSD.ORG Sun Jan 5 16:42:31 2014 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C81A3934; Sun, 5 Jan 2014 16:42:31 +0000 (UTC) Received: from mailrelay002.isp.belgacom.be (mailrelay002.isp.belgacom.be [195.238.6.175]) by mx1.freebsd.org (Postfix) with ESMTP id 82F551116; Sun, 5 Jan 2014 16:42:30 +0000 (UTC) X-Belgacom-Dynamic: yes X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AlYGAJ2KyVJR8nf4/2dsb2JhbABYgws4Sbk2gQsXdIIlAQEBBDocIxALDgYECSUPKh4GiBsBCMNTF48PB4Q3BJgWgTGQZYFvgT87 Received: from 248.119-242-81.adsl-dyn.isp.belgacom.be (HELO kalimero.tijl.coosemans.org) ([81.242.119.248]) by relay.skynet.be with ESMTP; 05 Jan 2014 17:42:22 +0100 Received: from kalimero.tijl.coosemans.org (kalimero.tijl.coosemans.org [127.0.0.1]) by kalimero.tijl.coosemans.org (8.14.7/8.14.7) with ESMTP id s05GgLxB002819; Sun, 5 Jan 2014 17:42:21 +0100 (CET) (envelope-from tijl@FreeBSD.org) Date: Sun, 5 Jan 2014 17:42:21 +0100 From: Tijl Coosemans To: Pedro Giffuni Subject: Re: svn commit: r260311 - in head/contrib: gcc gcc/cp gcc/doc gcclibs/include gcclibs/libiberty Message-ID: <20140105174221.220d9a13@kalimero.tijl.coosemans.org> In-Reply-To: <52C985C7.9060406@FreeBSD.org> References: <201401050043.s050hSMI089553@svn.freebsd.org> <20140105124557.5dd8395a@kalimero.tijl.coosemans.org> <52C985C7.9060406@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, bapt@FreeBSD.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 05 Jan 2014 16:42:31 -0000 On Sun, 05 Jan 2014 11:18:15 -0500 Pedro Giffuni wrote: > On 05.01.2014 06:45, Tijl Coosemans wrote: >> On Sun, 5 Jan 2014 00:43:28 +0000 (UTC) Pedro F. Giffuni wrote: >>> Author: pfg >>> Date: Sun Jan 5 00:43:28 2014 >>> New Revision: 260311 >>> URL: http://svnweb.freebsd.org/changeset/base/260311 >>> >>> Log: >>> gcc: Add support for Apple's Block extension >>> >>> Block objects [1] are a C-level syntactic and runtime feature. They >>> are similar to standard C functions, but in addition to executable >>> code they may also contain variable bindings to automatic (stack) >>> or managed (heap) memory. A block can therefore maintain a set of >>> state (data) that it can use to impact behavior when executed. >>> >>> This port is based on Apple's GCC 5646 with some bugfixes from >>> Apple GCC 5666.3. It has some small differences with the support >>> in clang, which remains the recommended compiler. >>> >>> Perhaps the most notable difference is that in GCC that __block >>> is not actually a keyword, but a macro. There will be workaround >>> for this issue in a near future. Other issues can be consulted in >>> the clang documentation [2] >>> >>> For better compatiblity with Apple's GCC and llvm-gcc some related >>> fixes and features from Apple have been included. Support for the >>> non-standard nested functions in GCC is now off by default. >> Some ports use nested functions. > > We now have the Apple-GCC compatible -fnested-functions, > however, this is of little relevance because on FreeBSD 10+ > the default compiler (clang) doesn't support them at all. > > Most such ports should already be using the fsf gcc but > I am not going to find out which do or dont; I simply won't > merge this to 9 until there is a good reason to do it. * Doesn't this affect architectures where clang isn't the default yet? You can grep the ports tree for nestedfct which currently implies USE_GCC=any, i.e. use base system gcc when available, otherwise use lang/gcc port. Do you think it's best to change this into USE_GCC=yes, i.e. always use lang/gcc port?