delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2007/05/18/04:51:16

X-Spam-Check-By: sourceware.org
X-Spam-Score: -0.972
Message-ID: <464D68D5.1080306@sh.cvut.cz>
Date: Fri, 18 May 2007 10:50:29 +0200
From: =?ISO-8859-1?Q?V=E1clav_Haisman?= <v DOT haisman AT sh DOT cvut DOT cz>
User-Agent: Thunderbird 2.0.0.0 (Windows/20070326)
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: Re: _GLIBCXX_USE_C99 not working?
References: <464CBBD5 DOT 4040709 AT t-online DOT de>
In-Reply-To: <464CBBD5.4040709@t-online.de>
X-IsSubscribed: yes
Reply-To: cygwin AT cygwin DOT com
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

--------------enig1FB9FDA834165598BDB11AC5
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Christian Franke wrote:
> Defining _GLIBCXX_USE_C99 does not work with current Cygwin C++ includes.
>=20
> Testcase:
>=20
> #define _GLIBCXX_USE_C99 1 // need std::llabs()
>=20
> #include <cstdlib>
>=20
> long long f(long long x)
> {
>    return std::llabs(x);
> }
>=20
>=20
> Compile fails with:
>=20
> /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/cstdlib:181:
>  error: `::strtold' has not been declared
> /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/cstdlib:200:
>  error: `__gnu_cxx::strtold' has not been declared
>=20
>=20
> The function strtold() does actually not exist in stdlib.h
> and the corresponding _GLIBCXX_HAVE_STRTOLD in
> /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/i686-pc-cygwin/bits/c++conf=
ig.h
>=20
> is not set.
>=20
> But "using ::strtold" exists in the "#if _GLIBCXX_USE_C99" part of
> /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/cstdlib
>=20
> Workaround: delete the two "using ::strtold" lines from cstdlib.
>=20
> Christian
Look into the cstdlib header. You will find that llabs(long long) and
abs(long long) are in the __gnu_cxx namespace there. It is because long
long is not C++ standard type.

--
Vaclav Haisman


--------------enig1FB9FDA834165598BDB11AC5
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iQEVAwUBRk1o3UNOZDESBK8FAQjhBgf/e/C8qhbvgMQlr/FEDFJCI0vP50idxa44
FZ9t7GBYxP6sRVzqHiVYgtniwFWh4UsJ1HSkGXVn+bdCljSMnxrCZtvZttueBnh/
Y00uwTFOPn/BgMJzRO2Qza70Y7eJydJNtJDMCz7chapa3eBmG/2kFTyP/SZgZ8LU
4+cic/V3MAUGl+aL7UIPK/VVANlp6G1dQNmcbC2sJGePGHXt7teOMuCuBiKoDRxx
zE6A2/BdW2/bvy/9WkS7s2hKITlE5GgDooliS7wInIWeNGgA0F4CdVyHxdDmdm2+
GSyge2K7Tqr6UvgKspHuUd8pPdzp5CTMbb2eWgh/m+KsHLVXEYPIQA==
=UleH
-----END PGP SIGNATURE-----

--------------enig1FB9FDA834165598BDB11AC5--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019