diff options
author | Jeremy Fitzhardinge <jeremy@goop.org> | 2008-01-30 07:32:42 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:32:42 -0500 |
commit | 74ef649fe847fdfbd3e1732d21b923f59ca04e8c (patch) | |
tree | cef6615597cc78bb507ff971f409530f14b962ff /include | |
parent | 345b904c3f7c24fbfadfee7cddd5896d13b176d9 (diff) |
x86: add _AT() macro to conditionally cast
# HG changeset patch
# User Jeremy Fitzhardinge <jeremy@xensource.com>
# Date 1199317452 28800
# Node ID f7e7db3facd9406545103164f9be8f9ba1a2b549
# Parent 4d9a413a0f4c1d98dbea704f0366457b5117045d
x86: add _AT() macro to conditionally cast
Define _AT(type, value) to conditionally cast a value when compiling C
code, but not when used in assembler.
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/const.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/const.h b/include/linux/const.h index 07b300bfe34b..c22c707c455d 100644 --- a/include/linux/const.h +++ b/include/linux/const.h | |||
@@ -7,13 +7,18 @@ | |||
7 | * C code. Therefore we cannot annotate them always with | 7 | * C code. Therefore we cannot annotate them always with |
8 | * 'UL' and other type specifiers unilaterally. We | 8 | * 'UL' and other type specifiers unilaterally. We |
9 | * use the following macros to deal with this. | 9 | * use the following macros to deal with this. |
10 | * | ||
11 | * Similarly, _AT() will cast an expression with a type in C, but | ||
12 | * leave it unchanged in asm. | ||
10 | */ | 13 | */ |
11 | 14 | ||
12 | #ifdef __ASSEMBLY__ | 15 | #ifdef __ASSEMBLY__ |
13 | #define _AC(X,Y) X | 16 | #define _AC(X,Y) X |
17 | #define _AT(T,X) X | ||
14 | #else | 18 | #else |
15 | #define __AC(X,Y) (X##Y) | 19 | #define __AC(X,Y) (X##Y) |
16 | #define _AC(X,Y) __AC(X,Y) | 20 | #define _AC(X,Y) __AC(X,Y) |
21 | #define _AT(T,X) ((T)(X)) | ||
17 | #endif | 22 | #endif |
18 | 23 | ||
19 | #endif /* !(_LINUX_CONST_H) */ | 24 | #endif /* !(_LINUX_CONST_H) */ |