mirror of git://sourceware.org/git/glibc.git
The macro __MATH_TG contains the logic to select between long double and _Float128, when these types are ABI-distinct. This logic relies on __builtin_types_compatible_p, which is not available in C++ mode. On the other hand, C++ function overloading provides the means to distinguish between the floating-point types. The overloading resolution will match the correct parameter regardless of type qualifiers, i.e.: const and volatile. Tested for powerpc64le, s390x, and x86_64. * math/math.h [defined __cplusplus] (issignaling): Provide a C++ definition for issignaling that does not rely on __MATH_TG, since __MATH_TG uses __builtin_types_compatible_p, which is only available in C mode. (CFLAGS-test-math-issignaling.cc): New variable. * math/Makefile [CXX] (tests): Add test-math-issignaling. * math/test-math-issignaling.cc: New test for C++ implementation of type-generic issignaling. * sysdeps/powerpc/powerpc64le/Makefile [subdir == math] (CXXFLAGS-test-math-issignaling.cc): Add -mfloat128 to the build options of test-math-issignaling on powerpc64le. |
||
|---|---|---|
| .. | ||
| bits | ||
| fpu | ||
| nofpu | ||
| nptl | ||
| power4 | ||
| power5+/fpu | ||
| power6 | ||
| power7/fpu | ||
| powerpc32 | ||
| powerpc64 | ||
| powerpc64le | ||
| soft-fp | ||
| sys/platform | ||
| Implies | ||
| Makefile | ||
| Versions | ||
| abort-instr.h | ||
| atomic-machine.h | ||
| dl-procinfo.c | ||
| dl-procinfo.h | ||
| dl-tls.c | ||
| dl-tls.h | ||
| ffs.c | ||
| fpu_control.h | ||
| gccframe.h | ||
| hwcapinfo.c | ||
| hwcapinfo.h | ||
| ifunc-sel.h | ||
| jmpbuf-offsets.h | ||
| jmpbuf-unwind.h | ||
| ldsodefs.h | ||
| libc-tls.c | ||
| locale-defines.sym | ||
| longjmp.c | ||
| machine-gmon.h | ||
| math-tests.h | ||
| memusage.h | ||
| mod-tlsopt-powerpc.c | ||
| mp_clz_tab.c | ||
| novmx-longjmp.c | ||
| novmx-sigjmp.c | ||
| novmxsetjmp.h | ||
| preconfigure | ||
| rtld-global-offsets.sym | ||
| sched_cpucount.c | ||
| sigjmp.c | ||
| sotruss-lib.c | ||
| stackinfo.h | ||
| sysdep.h | ||
| test-arith.c | ||
| test-arithf.c | ||
| test-get_hwcap-static.c | ||
| test-get_hwcap.c | ||
| test-gettimebase.c | ||
| tls-macros.h | ||
| tst-set_ppr.c | ||
| tst-stack-align.h | ||
| tst-tlsifunc-static.c | ||
| tst-tlsifunc.c | ||
| tst-tlsopt-powerpc.c | ||