On Jan 22, 2020, Andreas Schwab <sch...@suse.de> wrote: > On Dez 25 2019, Alexandre Oliva wrote: >> +dnl # Different versions and execution modes implement different >> +dnl # subsets of these functions. Instead of hard-coding, test for C >> +dnl # declarations in headers. The C primitives could be defined as >> +dnl # macros, in which case the tests might fail, and we might have to >> +dnl # switch to more elaborate tests. >> + GLIBCXX_CHECK_MATH_DECLS([ >> + acosl asinl atan2l atanl ceill cosl coshl expl fabsl floorl fmodl >> + frexpl ldexpl log10l logl modfl powl sinl sinhl sqrtl tanl tanhl])
> Why can't you use AC_CHECK_DECLS? IIRC it doesn't #undef, for one, but that's only relevant now. I can't really recall whether using it even occurred to me, but a good reason not to use it is that it defines HAVE_FUNCTION_DECL rather than setting glibcxx_cv_func_$1_use={yes,no} and (through AC_CHECK_FUNCS) HAVE_$1, like the preexisting macros in linkage.m4 we're substituting for did before. We could probably use AC_CHECK_DECL underneath, placing the #undef in the INCLUDES argument. Indeed, it looks like the GLIBCXX_CHECK_*_DECL_? macros in linkage.m4 could use AC_CHECK_DECL as well. Does anyone know of any reason for them not to use AC_CHECK_DECL instead of open-coding the tests? And then, shouldn't they also #undef the functions they're testing for? Or should neither? It doesn't feel right to add the #undef to the new but otherwise identical compile test, just because it skips the link test. -- Alexandre Oliva, freedom fighter he/him https://FSFLA.org/blogs/lxo Free Software Evangelist Stallman was right, but he's left :( GNU Toolchain Engineer FSMatrix: It was he who freed the first of us FSF & FSFLA board member The Savior shall return (true);