Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
[linux-2.6] / include / linux / compiler-intel.h
1 /* Never include this file directly.  Include <linux/compiler.h> instead.  */
2
3 #ifdef __ECC
4
5 /* Some compiler specific definitions are overwritten here
6  * for Intel ECC compiler
7  */
8
9 #include <asm/intrinsics.h>
10
11 /* Intel ECC compiler doesn't support gcc specific asm stmts.
12  * It uses intrinsics to do the equivalent things.
13  */
14 #undef barrier
15 #undef RELOC_HIDE
16
17 #define barrier() __memory_barrier()
18
19 #define RELOC_HIDE(ptr, off)                                    \
20   ({ unsigned long __ptr;                                       \
21      __ptr = (unsigned long) (ptr);                             \
22     (typeof(ptr)) (__ptr + (off)); })
23
24 /* Intel ECC compiler doesn't support __builtin_types_compatible_p() */
25 #define __must_be_array(a) 0
26
27 #endif
28
29 #define uninitialized_var(x) x