This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: configure and asinl function problem


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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]