https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79301
--- Comment #6 from Martin Sebor <msebor at gcc dot gnu.org> --- The (__has_cpp_attribute(fallthrough) >= __cplusplus) test doesn't help because the built-in evaluates to 201603 (in all conformance modes) and __cplusplus to at most 201500L (in C++ 17 mode), so it's as good as the original test alone. It might be worth to bring this up in the WG21 Feature Test study group (SG10) to make sure the interplay between pedantic conformance warnings (and errors) and the feature test macros has been given adequate consideration. The __has_cpp_attribute example in the latest draft is basically a copy of the test case in comment #0.