I agree your code should not depend on GCC, but stuff like __attribute__((nonnull(1), format(printf, 3, 4))) - "the first argument may not be NULL, the third argument is a printf()-style format string with arguments starting after the fourth element" - can produce some useful warnings and can be trivially disabled on non-GCC compilers. Some of the most useful extensions don't lock you into GCC.
(Now, if only Microsoft would get off their asses and make their compiler C99-compliant, we could all write much nicer code.)
(Now, if only Microsoft would get off their asses and make their compiler C99-compliant, we could all write much nicer code.)