[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Monotone-devel] mandatory-cxx11 on Cygwin doesn't have to_string
From: |
Markus Wanner |
Subject: |
Re: [Monotone-devel] mandatory-cxx11 on Cygwin doesn't have to_string |
Date: |
Tue, 20 May 2014 17:42:12 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Icedove/24.4.0 |
On 05/20/2014 01:15 AM, Stephen Leake wrote:
> Cygwin does not provide "to_string" in the "<string>" header:
>
> ../mandatory-cxx11/src/sanity.cc:38:12: error: ‘std::to_string’ has not
> been declared
Yeah, I noticed these as well. Build animal porcupine (build 29) shows
pretty much that same error. So does the alpaca (a NetBSD 6.1 box, see
its build 25).
> (even after adding "#include <string>")
Note that base.hh already includes <string>, so that's unlikely to make
a difference.
> searching for "to_string" in /usr/include turns up boost references
> only.
On Cygwin, the stdc++ headers live under /usr/lib/gcc/.
> Any clues?
The root cause seems to be that C99 has been disabled for the c++
standard library. See its bits/c++config.h:
/* Define if C99 functions or macros from <wchar.h>, <math.h>, <complex.h>,
<stdio.h>, and <stdlib.h> can be used or exposed. */
/* #undef _GLIBCXX_USE_C99 */
I'm not sure what lead to that decision.
I tried to upgrade g++ and the libstdc++ to 4.9.0-1 on cygwin, but that
fails even more substantially (and still doesn't define _GLIBCXX_USE_C99
it c++config.h).
Bottom line: It looks like we're stuck with boost::lexical_cast<> for
now. Therefore, I reverted the corresponding changes in nvm.mandatory-cxx11.
Regards
Markus Wanner
signature.asc
Description: OpenPGP digital signature