Joost Kraaijeveld wrote:
On Sat, 2005-10-08 at 07:50 -0700, Tim Prince wrote:

such as the one used in the libstdc++ build itself. Maybe we should look into how libstdc++ decides it can support asinl() on Cygwin. Did

Actually asinl is a built-in functions provided by GCC, so I
*think/hope* that it just is a matter of adding those functions to a
header?
See:
http://gcc.gnu.org/onlinedocs/gcc-3.4.4/gcc/Other-Builtins.html

I've never seen trig functions "provided" by gcc; a very few math built-ins are implemented for i386 (fabs, sqrt, et al., where it is clear what needs to be done to support the various -march= options). gcc has always followed the tradition of relying on someone else to provide the C math library, and the corresponding headers. To me, at least, the provision of a framework for defining built-in functions is a separate question from actually "providing" them, in a form ready to use. Commonly used linux glibc headers tend to over-ride even the existing limited built-in implementation, so gcc configure has to deal with that. cygwin continues to get math functions from newlib, which supports primarily platforms without long double. I checked libstdc++ config.log, and it does determine that cygwin supports no long double trig functions. As a result, libstdc++ is built with _asinl() calling asin(). It would seem that a configure script which comes to a different conclusion about cygwin math libraries than the ones used by gcc must be broken.


--
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/

Reply via email to