https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63834
--- Comment #4 from emsr at gcc dot gnu.org --- __has_include, as opposed to __has_cpp_include may predate my patch. I know clang has it. That might explain it showing up in darwin sys headers. I might have to back off of __has_attribute at least for now. __has_cpp_attribute is all that's required for SD-6. I'll see how the latest patch works and we'll see from there.