Date: Mon, 4 Feb 2013 03:15:53 GMT From: Pedro Giffuni <pfg@FreeBSD.org> To: freebsd-gnats-submit@FreeBSD.org Subject: standards/175811: libstdc++ needs complex support in order use C99 Message-ID: <201302040315.r143Fra2026596@red.freebsd.org> Resent-Message-ID: <201302040320.r143K0QK037923@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 175811 >Category: standards >Synopsis: libstdc++ needs complex support in order use C99 >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-standards >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Feb 04 03:20:00 UTC 2013 >Closed-Date: >Last-Modified: >Originator: Pedro Giffuni >Release: 9.1 but the issue is verified in 10-current >Organization: >Environment: FreeBSD pcbsd-8555 9.1-PRERELEASE FreeBSD 9.1-PRERELEASE #7: Sun Oct 7 00:05:03 COT 2012 Pedro@pcbsd-8555:/usr/src/sys/amd64/compile/GENERIC amd64 >Description: >From a posting @toolchain by Dimitry Andric: I took the original gcc 4.2.1 release tarball, modified a few autoconf related scripts to cope with "freebsd10.0" being the current version, and did a full three-stage build, though only targeting C and C++. The libstdc++ configure script in 4.2.1 does detect a few new features that are not in our shipping config.h, but is does not detect any different settings regarding C99. The reason it does not turn on _GLIBCXX_USE_C99, is that not all of the C99 requirements are met, specifically <complex.h> checks fail: checking for ISO C99 support in <math.h>... yes checking for ISO C99 support in <complex.h>... no checking for ISO C99 support in <stdio.h>... yes checking for ISO C99 support in <stdlib.h>... yes checking for ISO C99 support in <wchar.h>... yes checking for fully enabled ISO C99 support... no The exact failure testcase goes like this: configure:7435: checking for ISO C99 support in <complex.h> configure:7492: /home/dim/obj/gcc-4.2.1/./gcc/xgcc -shared-libgcc -B/home/dim/obj/gcc-4.2.1/./gcc -nostdinc++ -L/home/dim/obj/gcc-4.2.1/i386-unknown-freebsd10.0/libstdc++-v3/src -L/home/dim/obj/gcc-4.2.1/i386-unknown-freebsd10.0/libstdc++-v3/src/.libs -B/home/dim/ins/gcc-4.2.1/i386-unknown-freebsd10.0/bin/ -B/home/dim/ins/gcc-4.2.1/i386-unknown-freebsd10.0/lib/ -isystem /home/dim/ins/gcc-4.2.1/i386-unknown-freebsd10.0/include -isystem /home/dim/ins/gcc-4.2.1/i386-unknown-freebsd10.0/sys-include -c -g -O2 conftest.cc >&5 conftest.cc: In function 'int main()': conftest.cc:41: error: 'clogf' was not declared in this scope conftest.cc:47: error: 'cpowf' was not declared in this scope conftest.cc:54: error: 'clog' was not declared in this scope conftest.cc:60: error: 'cpow' was not declared in this scope conftest.cc:64: error: 'ccosl' was not declared in this scope conftest.cc:65: error: 'ccoshl' was not declared in this scope conftest.cc:66: error: 'cexpl' was not declared in this scope conftest.cc:67: error: 'clogl' was not declared in this scope conftest.cc:68: error: 'csinl' was not declared in this scope conftest.cc:69: error: 'csinhl' was not declared in this scope conftest.cc:71: error: 'ctanl' was not declared in this scope conftest.cc:72: error: 'ctanhl' was not declared in this scope conftest.cc:73: error: 'cpowl' was not declared in this scope configure:7498: $? = 1 So until we actually implement and declare those functions, we should probably not enable _GLIBCXX_USE_C99_COMPLEX and _GLIBCXX_USE_C99. >How-To-Repeat: >Fix: Just a reminder (I know .. shutup and code). >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201302040315.r143Fra2026596>