On Jan 9, 2017, at 9:16 AM, Jonathan Wakely <jwak...@redhat.com> wrote: > > Older versions of OS X (at least Leopard) are missing some > declarations of C99 functions from <math.h>, which causes our > configure test to decide that all C99 functions are missing from > <math.h>. Rather then splitting up the check into dozens of smaller > checks for individual functions (which would be stage 1 material) this > just adds a special case for the six missing functions, so that darwin > checks for them separately and defaines a new macro to say they're > missing. > > PR libstdc++/79017 > * acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Check for llrint and llround > functions separately on darwin and if they're missing define > _GLIBCXX_NO_C99_ROUNDING_FUNCS. > * config.h.in: Regenerate. > * configure: Regenerate. > * include/c_global/cmath [_GLIBCXX_NO_C99_ROUNDING_FUNCS] (llrint) > (llrintf, llrintl, llround, llroundf, llroundl): Do not define.
Another possibility might be possible if llrint is the same as lrint and lrint is present... then liberty can define forwarders on a per function basis if they aren't there. I think this is the case when sizeof (long long) == sizeof(long).