-#define GCC_UNALIGNED_ACCESSORS(SIZE) \
-struct unaligned_u##SIZE { \
- uint##SIZE##_t x __attribute__((__packed__)); \
-}; \
-static inline struct unaligned_u##SIZE * \
-unaligned_u##SIZE(const uint##SIZE##_t *p) \
-{ \
- return (struct unaligned_u##SIZE *) p; \
-} \
- \
-static inline uint##SIZE##_t \
-get_unaligned_u##SIZE(const uint##SIZE##_t *p) \
-{ \
- return unaligned_u##SIZE(p)->x; \
-} \
- \
-static inline void \
-put_unaligned_u##SIZE(uint##SIZE##_t *p, uint##SIZE##_t x) \
-{ \
- unaligned_u##SIZE(p)->x = x; \
+#define GCC_UNALIGNED_ACCESSORS(TYPE, ABBREV) \
+struct unaligned_##ABBREV { \
+ TYPE x __attribute__((__packed__)); \
+}; \
+static inline struct unaligned_##ABBREV * \
+unaligned_##ABBREV(const TYPE *p) \
+{ \
+ return (struct unaligned_##ABBREV *) p; \
+} \
+ \
+static inline TYPE \
+get_unaligned_##ABBREV(const TYPE *p) \
+{ \
+ return unaligned_##ABBREV(p)->x; \
+} \
+ \
+static inline void \
+put_unaligned_##ABBREV(TYPE *p, TYPE x) \
+{ \
+ unaligned_##ABBREV(p)->x = x; \