diff options
-rw-r--r-- | include/platform.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/include/platform.h b/include/platform.h index 6328ff6ad..cbde7bc7b 100644 --- a/include/platform.h +++ b/include/platform.h | |||
@@ -218,14 +218,15 @@ | |||
218 | 218 | ||
219 | /* ---- Unaligned access ------------------------------------ */ | 219 | /* ---- Unaligned access ------------------------------------ */ |
220 | 220 | ||
221 | typedef int bb__aliased_int FIX_ALIASING; | ||
222 | typedef uint16_t bb__aliased_uint16_t FIX_ALIASING; | ||
223 | typedef uint32_t bb__aliased_uint32_t FIX_ALIASING; | ||
224 | |||
221 | /* NB: unaligned parameter should be a pointer, aligned one - | 225 | /* NB: unaligned parameter should be a pointer, aligned one - |
222 | * a lvalue. This makes it more likely to not swap them by mistake | 226 | * a lvalue. This makes it more likely to not swap them by mistake |
223 | */ | 227 | */ |
224 | #if defined(i386) || defined(__x86_64__) || defined(__powerpc__) | 228 | #if defined(i386) || defined(__x86_64__) || defined(__powerpc__) |
225 | # include <stdint.h> | 229 | # include <stdint.h> |
226 | typedef int bb__aliased_int FIX_ALIASING; | ||
227 | typedef uint16_t bb__aliased_uint16_t FIX_ALIASING; | ||
228 | typedef uint32_t bb__aliased_uint32_t FIX_ALIASING; | ||
229 | # define move_from_unaligned_int(v, intp) ((v) = *(bb__aliased_int*)(intp)) | 230 | # define move_from_unaligned_int(v, intp) ((v) = *(bb__aliased_int*)(intp)) |
230 | # define move_from_unaligned16(v, u16p) ((v) = *(bb__aliased_uint16_t*)(u16p)) | 231 | # define move_from_unaligned16(v, u16p) ((v) = *(bb__aliased_uint16_t*)(u16p)) |
231 | # define move_from_unaligned32(v, u32p) ((v) = *(bb__aliased_uint32_t*)(u32p)) | 232 | # define move_from_unaligned32(v, u32p) ((v) = *(bb__aliased_uint32_t*)(u32p)) |