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>
This commit is contained in:
parent
345b904c3f
commit
74ef649fe8
|
@ -7,13 +7,18 @@
|
||||||
* C code. Therefore we cannot annotate them always with
|
* C code. Therefore we cannot annotate them always with
|
||||||
* 'UL' and other type specifiers unilaterally. We
|
* 'UL' and other type specifiers unilaterally. We
|
||||||
* use the following macros to deal with this.
|
* use the following macros to deal with this.
|
||||||
|
*
|
||||||
|
* Similarly, _AT() will cast an expression with a type in C, but
|
||||||
|
* leave it unchanged in asm.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef __ASSEMBLY__
|
#ifdef __ASSEMBLY__
|
||||||
#define _AC(X,Y) X
|
#define _AC(X,Y) X
|
||||||
|
#define _AT(T,X) X
|
||||||
#else
|
#else
|
||||||
#define __AC(X,Y) (X##Y)
|
#define __AC(X,Y) (X##Y)
|
||||||
#define _AC(X,Y) __AC(X,Y)
|
#define _AC(X,Y) __AC(X,Y)
|
||||||
|
#define _AT(T,X) ((T)(X))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* !(_LINUX_CONST_H) */
|
#endif /* !(_LINUX_CONST_H) */
|
||||||
|
|
Loading…
Reference in New Issue