use __GNUC_PREREQ macro for compiler version checking