+/* This attribute indicates that the argument with the given
+ IDX must be a null pointer. IDX counts backward in the
+ argument list, so that 0 is the last argument, 1 is the
+ second-from-last argument, and so on. */
+#if __GNUC__ > 3
+#define SENTINEL(IDX) ATTRIBUTE ((sentinel(IDX)))
+#else
+#define SENTINEL(IDX)
+#endif
+
+
+/* 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__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR >= 4)
+#define OPTIMIZE(LEVEL) ATTRIBUTE ((optimize(LEVEL)))
+#else
+#define OPTIMIZE(LEVEL)
+#endif
+
+