Fixed clang wrongly defining __GNUC__ when it shouldn't, as it isn't __GNUC__ but clang\!