The first ‘#if’ test succeeds only when the operator is supported by the version of GCC (or another compiler) being used. Only when that test succeeds is it valid to use __has_include as a preprocessor operator. As a result, combining the two tests into a single expression as shown below would only be valid with a compiler that supports the operator but not with others that don’t.
so, we should have two #if, checking for macro and only then using it
recent compiler versions obviously work, just noticed this when user tried to use our old Core version shipping with gcc 4.8.x
https://github.com/esp8266/Arduino/issues/8798
Description
per https://gcc.gnu.org/onlinedocs/cpp/_005f_005fhas_005finclude.html
so, we should have two
#if
, checking for macro and only then using it recent compiler versions obviously work, just noticed this when user tried to use our old Core version shipping with gcc 4.8.x https://github.com/esp8266/Arduino/issues/8798Issues Resolved
-