+/**
+ * GNU attributes.
+ */
+typedef enum gnu_attribute_kind_t {
+ GNU_AK_CONST,
+ GNU_AK_VOLATILE,
+ GNU_AK_CDECL,
+ GNU_AK_STDCALL,
+ GNU_AK_FASTCALL,
+ GNU_AK_DEPRECATED,
+ GNU_AK_NOINLINE,
+ GNU_AK_NORETURN,
+ GNU_AK_NAKED,
+ GNU_AK_PURE,
+ GNU_AK_ALWAYS_INLINE,
+ GNU_AK_MALLOC,
+ GNU_AK_WEAK,
+ GNU_AK_CONSTRUCTOR,
+ GNU_AK_DESTRUCTOR,
+ GNU_AK_NOTHROW,
+ GNU_AK_TRANSPARENT_UNION,
+ GNU_AK_COMMON,
+ GNU_AK_NOCOMMON,
+ GNU_AK_PACKED,
+ GNU_AK_SHARED,
+ GNU_AK_NOTSHARED,
+ GNU_AK_USED,
+ GNU_AK_UNUSED,
+ GNU_AK_NO_INSTRUMENT_FUNCTION,
+ GNU_AK_WARN_UNUSED_RESULT,
+ GNU_AK_LONGCALL,
+ GNU_AK_SHORTCALL,
+ GNU_AK_LONG_CALL,
+ GNU_AK_SHORT_CALL,
+ GNU_AK_FUNCTION_VECTOR,
+ GNU_AK_INTERRUPT,
+ GNU_AK_INTERRUPT_HANDLER,
+ GNU_AK_NMI_HANDLER,
+ GNU_AK_NESTING,
+ GNU_AK_NEAR,
+ GNU_AK_FAR,
+ GNU_AK_SIGNAL,
+ GNU_AK_EIGTHBIT_DATA,
+ GNU_AK_TINY_DATA,
+ GNU_AK_SAVEALL,
+ GNU_AK_FLATTEN,
+ GNU_AK_SSEREGPARM,
+ GNU_AK_EXTERNALLY_VISIBLE,
+ GNU_AK_RETURN_TWICE,
+ GNU_AK_MAY_ALIAS,
+ GNU_AK_MS_STRUCT,
+ GNU_AK_GCC_STRUCT,
+ GNU_AK_DLLIMPORT,
+ GNU_AK_DLLEXPORT,
+ GNU_AK_ALIGNED,
+ GNU_AK_ALIAS,
+ GNU_AK_SECTION,
+ GNU_AK_FORMAT,
+ GNU_AK_FORMAT_ARG,
+ GNU_AK_WEAKREF,
+ GNU_AK_NONNULL,
+ GNU_AK_TLS_MODEL,
+ GNU_AK_VISIBILITY,
+ GNU_AK_REGPARM,
+ GNU_AK_MODEL,
+ GNU_AK_MODE,
+ GNU_AK_TRAP_EXIT,
+ GNU_AK_SP_SWITCH,
+ GNU_AK_SENTINEL,
+ GNU_AK_LAST
+} gnu_attribute_kind_t;
+