[Rd] R-devel on FreeBSD: Support for C99 complex type is required

Rainer Hurling rhurlin at gwdg.de
Sun Feb 6 18:54:25 CET 2011


On 06.02.2011 18:24 (UTC+1), Murray Stokely wrote:
> On Sun, Feb 6, 2011 at 8:50 AM, Rainer Hurling<rhurlin at gwdg.de>  wrote:
>>> I think this is really a FreeBSD support question. In 2011, an OS really
>>> should have support for a 1999 standard. Darwin, a FreeBSD derivative,
>>> does and its help page says
>>
>> Hmm, on FreeBSD I really have no other piece of software which complains
>> about lack of C99.
>
> FreeBSD is planning on switching to a different compiler, llvm/clang,
> and so the version of gcc is stale, but still it should be more than
> sufficient to support C99.  FreeBSD started a C99 effort a decade ago
> and I haven't heard from this initiative in a long time as I thought
> it was completed.
>
>      http://www.freebsd.org/projects/c99/index.html

As far as I understand these initiative was/is for the built in gcc 
4.2.1. When building a port newer ones like 4.5.3 can be used. The newer 
gcc versions made a lot of progress, see

http://gcc.gnu.org/gcc-4.2/c99status.html

http://gcc.gnu.org/gcc-4.5/c99status.html

Especially the complex support in complex.h of version 4.2.1 is broken.

> There is I believe experimental support for llvm/clang built into
> FreeBSD 9, so you could try compiling with that instead of gcc.

This is not an option at the moment, because I have to work with my 
system (desktop).

>> Ok, I understand. This seems consistent. I will try to contact FreeBSD
>> support about it. Please do not change back the behaviour for FreeBSD
>> (towards emulation code) until this is clarified.
>
> Yes, please mail freebsd-standards at google.com

I will mail freebsd-standards at freebsd.org as you suggested.

> I haven't looked at what autoconf is testing exactly but I suspect
> simply another argument must be provided in the autoconf script to get
> it to pull up the C99 math functions its looking for.

Perhaps there is a way to use gcc's 4.5.3 C99 functionality instead of 
4.2.1 ones. The c99 wrapper at /usr/bin/c99 enforces the use of the 
built in compiler (hardcoded path).

>            - Murray

Thanks for the answer,
Rainer



More information about the R-devel mailing list