------- Additional Comments From gdr at cs dot tamu dot edu 2004-11-03 00:28 ------- Subject: Re: Test failures due to missing C99 symbols
"bkoz at gcc dot gnu dot org" <[EMAIL PROTECTED]> writes: | Simple grep: | | /include/std/std_complex.h: __complex_arg(__complex__ float __z) { return | __builtin_cargf(__z); } | | Simple theory: on targets without __builtin_cargf, cargf gets referenced with | this call. However, no checking for cargf or provided function in libmath stubs | for this. So, the failure. | | In fact, in 2000 cargf was taken out of libmath, because it was unused. At that moment we did not bother about the namespace issues and we did not use the built-ins as a way to walk around our failure to correctly implement that C-header stuff. | I think this is related, in general, to the meta-issue of what the hell libmath | is supposed to do, and if perhaps it's time for fortran, java, c++ etc to all | punt to a top-level C99 math library for this stuff if native libc/libm can't | hack it. And why stop there... just import all of glibc + GSL? Ack. I would not go as far as importing the whole monster glibc+GSL. But, most definitely it is time that we have the math stuff in libgcc and shared by all other front-ends. It does not make sense that each front-end/library code the same hack endlessly. And even more so, the compiler could safely base optimizations on its knowledge of the stuff there -- that is an area where ICC shrines. -- Gaby -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17243