https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63662
andre.mccurdy at linaro dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|__has_include defined but |__has_include is not |not implemented |implemented but it is | |defined, so "#ifdef | |__has_include" guards are | |ineffective in blocking | |usage of __has_include --- Comment #3 from andre.mccurdy at linaro dot org --- Thanks. I have updated the original summary since it was unclear: The bug is not that the __has_include feature can't be used in 4.9.x. The bug is that __has_include is defined in gcc-4_9-branch, which causes "#ifdef __has_include" be ineffective as a guard to prevent attempts to use the __has_include feature.