Ensure that __GNUC_PREREQ is always defined

This fixes a problem with clang that complains about this line

 #if defined(__clang__) || !defined(__GNUC__) || __GNUC_PREREQ(4, 6)

because __GNUC_PREREQ is not defined.