Belle II Software  release-08-01-10
align.h
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 #pragma once
17 
18 /* on Mac OS-X and possibly others, ALIGN(x) is defined in param.h, and -Werror chokes on the redef. */
19 #ifdef ALIGN
20 #undef ALIGN
21 #endif
22 
23 #if defined(__GNUC__)
24 #define ALIGN(x) __attribute__ ((aligned(x)))
25 #elif defined(_MSC_VER)
26 #define ALIGN(x) __declspec(align(x))
27 #elif defined(__ARMCC_VERSION)
28 #define ALIGN(x) __align(x)
29 #else
30 #define ALIGN(x)
31 #endif