Note that you can test for the exact version of GCC with #ifdef GCC_MAJOR >= 4 && GCC_MINOR >= 7.They don't exist.
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7) (there is also __GNUC_PATCHLEVEL__ for the third component).
GMP and MPFR have such macros. It would be a nice addition to GCC, but with the __GCC prefix.
That's probably why it was added then, in prehistoric times already :-) Segher