Hi Jonathan, >>That would suggest Solaris uses include/c_std/cmath (where I forgot to >>add the new overloads) rather than include/c_global/cmath ... is that >>right? > > Alternatively it's using c_global/cmath but _GLIBCXX_USE_C99_MATH_TR1 > is not defined, as the new overloads are inside that block. I thought > that was defined for Solaris though, which is why we have the > __CORRECT_ISO_CPP11_MATH_H_PROTO there in that file.
it is indeed, at least initially. What I see in preprocessed input is this: ro@galeras 208 > grep _GLIBCXX_USE_C99_MATH testsuite/normal4/hypot.ii #define _GLIBCXX_USE_C99_MATH _GLIBCXX11_USE_C99_MATH #define _GLIBCXX_USE_C99_MATH_TR1 1 #undef _GLIBCXX_USE_C99_MATH #undef _GLIBCXX_USE_C99_MATH_TR1 It turns out the #undef's are from <math.h>: #if __cplusplus >= 201103L #undef _GLIBCXX_USE_C99_MATH #undef _GLIBCXX_USE_C99_MATH_TR1 #endif No idea what this nonsense is trying to accomplish! It's already in Solaris 11.3, however. > Once again I wish we had a Solaris machine in the compile farm, or it > was possible to install a Solaris VM and get OS updates without paying > Oracle for the privilege. That's easily doable: Solaris is free for development use; you get access to the release (11, 11.1, 11.2, 11.3, ...) versions, just not to patches/updates. They do have a program for free academic use of Solaris, including updates, these days: https://academy.oracle.com/. Rainer -- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University