/* Mark a function as taking a printf- or scanf-like format
string as its FMT'th argument and that the FIRST'th argument
is the first one to be checked against the format string. */
+#if defined(__GNUC__) && ((__GNUC__ == 4 && __GNUC_MINOR__>= 4) || __GNUC__ > 4)
+#define PRINTF_FORMAT(FMT, FIRST) ATTRIBUTE ((format (gnu_printf, FMT, FIRST)))
+#else
#define PRINTF_FORMAT(FMT, FIRST) ATTRIBUTE ((format (__printf__, FMT, FIRST)))
+#endif
#define SCANF_FORMAT(FMT, FIRST) ATTRIBUTE ((format (__scanf__, FMT, FIRST)))
/* Tells the compiler that a function may be treated as if any
/* This attribute indicates that the function should be compiled
with the specified LEVEL, regardless of what has been specified
on the command line */
-#if __GNUC__ > 3
+#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR >= 4)
#define OPTIMIZE(LEVEL) ATTRIBUTE ((optimize(LEVEL)))
#else
#define OPTIMIZE(LEVEL)