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