aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/platform.h7
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
221typedef int bb__aliased_int FIX_ALIASING;
222typedef uint16_t bb__aliased_uint16_t FIX_ALIASING;
223typedef 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>
226typedef int bb__aliased_int FIX_ALIASING;
227typedef uint16_t bb__aliased_uint16_t FIX_ALIASING;
228typedef 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))