# HG changeset patch # User mru # Date 1216343939 0 # Node ID 0d4beab5e3c9bc67ee7b998e2f00054dbd4b2a6d # Parent 3cb148a1c8cd45f626246e2fbd1d371349f84ea7 intreadwrite: support DEC compiler __unaligned type qualifier diff -r 3cb148a1c8cd -r 0d4beab5e3c9 intreadwrite.h --- a/intreadwrite.h Thu Jul 17 18:42:19 2008 +0000 +++ b/intreadwrite.h Fri Jul 18 01:18:59 2008 +0000 @@ -37,7 +37,17 @@ #define AV_WN32(a, b) (((struct unaligned_32 *) (a))->l) = (b) #define AV_WN64(a, b) (((struct unaligned_64 *) (a))->l) = (b) -#else /* __GNUC__ */ +#elif defined(__DECC) + +#define AV_RN16(a) (*((const __unaligned uint16_t*)(a))) +#define AV_RN32(a) (*((const __unaligned uint32_t*)(a))) +#define AV_RN64(a) (*((const __unaligned uint64_t*)(a))) + +#define AV_WN16(a, b) *((__unaligned uint16_t*)(a)) = (b) +#define AV_WN32(a, b) *((__unaligned uint32_t*)(a)) = (b) +#define AV_WN64(a, b) *((__unaligned uint64_t*)(a)) = (b) + +#else #define AV_RN16(a) (*((const uint16_t*)(a))) #define AV_RN32(a) (*((const uint32_t*)(a)))