1 /* 2 Implementation by the Keccak, Keyak and Ketje Teams, namely, Guido Bertoni, 3 Joan Daemen, Michaël Peeters, Gilles Van Assche and Ronny Van Keer, hereby 4 denoted as "the implementer". 5 6 For more information, feedback or questions, please refer to our websites: 7 http://keccak.noekeon.org/ 8 http://keyak.noekeon.org/ 9 http://ketje.noekeon.org/ 10 11 To the extent possible under law, the implementer has waived all copyright 12 and related or neighboring rights to the source code in this file. 13 http://creativecommons.org/publicdomain/zero/1.0/ 14 */ 15 16 #ifndef _align_h_ 17 #define _align_h_ 18 19 /* on Mac OS-X and possibly others, ALIGN(x) is defined in param.h, and -Werror chokes on the redef. */ 20 21 #ifdef ALIGN 22 #undef ALIGN 23 #endif 24 25 #if defined(__GNUC__) 26 #define ALIGN(x) __attribute__ ((aligned(x))) 27 #elif defined(_MSC_VER) 28 #define ALIGN(x) __declspec(align(x)) 29 #elif defined(__ARMCC_VERSION) 30 #define ALIGN(x) __align(x) 31 #else 32 #define ALIGN(x) 33 #endif 34 35 #endif 36