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 | |