According to GCC's documentation the macro GCC_VERSION is not predefined, but rather can be defined as #define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) in order to compare the GCC version against a single integer constant. The spirv_reflect.h header uses this macro, but fails to define it causing it to be evaluated as zero and the #if it is used for to always be false.