svn commit: r260311 - in head/contrib: gcc gcc/cp gcc/doc gcclibs/include gcclibs/libiberty
Pedro Giffuni
pfg at FreeBSD.org
Sun Jan 5 16:24:18 UTC 2014
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. *
Pedro.
*Anyone working on a GCD-enabled version of grep or sort? :).
More information about the svn-src-all
mailing list