On 17 May 2007 21:32, Christian Franke wrote: > Defining _GLIBCXX_USE_C99 does not work with current Cygwin C++ includes. > > Testcase: > > #define _GLIBCXX_USE_C99 1 // need std::llabs()
Can you point me at any documentation that says this is a valid thing to do? AFAICT that's an internal symbol in the '_' namespace that user code has no business messing around with. Cygwin is not a glibc program so telling libstdc that it is seems inherently bogus to me. /artimi/software/firmware $ grep -wB1 _GLIBCXX_USE_C99 /usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/i686-pc-cygwin/bits/c++config.h // Define if C99 features such as lldiv_t, llabs, lldiv should be exposed. /* #undef _GLIBCXX_USE_C99 */ As you see, it is part of the internal configuration, generated by autoconf or some similar process at the time the library is compiled and installed. http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/c++config_8h.html "This is an internal header file, included by other library headers. You should not attempt to use it directly." If you want this to work, I guess we shoult implement strtold in newlib, or patch libstdc for finer granularity in what it assumes _GLIBCXX_USE_C99 implies is available. cheers, DaveK -- Can't think of a witty .sigline today.... -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/