/* TODO: _format_attribute is currently ignored. */
#define _format_attribute(type, format_str, format_start)
+/* Hint that the annotated function is intentionally not used. This might be
+ * the case if the function contains only static assertions. */
+#define _unused_attribute __attribute__((unused))
+
/* Endianness definitions. Either CPU_IS_BIG_ENDIAN or CPU_IS_LITTLE_ENDIAN is
* set to 1. The other is set to 0. Note that newer gcc supports
* __BYTE_ORDER__ for easily determining the endianness; older gcc doesn't. In
#endif
#define CPU_IS_LITTLE_ENDIAN (!CPU_IS_BIG_ENDIAN)
-#if defined(__x86_64__) || defined(__i386__)
-# define UNALIGNED_ACCESS_SPEED 3
-#elif defined(__ARM_FEATURE_UNALIGNED) && (__ARM_FEATURE_UNALIGNED == 1)
-# define UNALIGNED_ACCESS_SPEED 2
+/* UNALIGNED_ACCESS_IS_FAST should be defined to 1 if unaligned memory accesses
+ * can be performed efficiently on the target platform. */
+#if defined(__x86_64__) || defined(__i386__) || defined(__ARM_FEATURE_UNALIGNED)
+# define UNALIGNED_ACCESS_IS_FAST 1
#else
-# define UNALIGNED_ACCESS_SPEED 0
+# define UNALIGNED_ACCESS_IS_FAST 0
#endif
/* Get the type of the specified expression. */