HomeFreeBSD

Avoid -pedantic warnings about using _Generic in __fp_type_select

Description

Avoid -pedantic warnings about using _Generic in __fp_type_select

When compiling parts of math.h with clang using a C standard before C11,
and using -pedantic, it will result in warnings similar to:

bug254714.c:5:11: warning: '_Generic' is a C11 extension [-Wc11-extensions]

return !isfinite(1.0);
        ^

/usr/include/math.h:111:21: note: expanded from macro 'isfinite'

^

/usr/include/math.h:82:39: note: expanded from macro '__fp_type_select'

^

This is because the block that enables use of _Generic is conditional
not only on C11, but also on whether the compiler advertises support for
C generic selections via __has_extension(c_generic_selections).

To work around the warning without having to pessimize the code, use the
extension keyword, which is supported by both clang and gcc. While
here, remove the check for clang, as _Generic has been supported for
a long time by gcc too now.

Reported by: yuri
PR: 254714

Details

Provenance
dimAuthored on Apr 8 2021, 11:13 AM
Parents
rGca32a11644b1: MFC 4e38478c595a:
Branches
Unknown
Tags
Unknown