xref: /utopia/UTPA2-700.0.x/projects/tools/lint/mips-linux-gnu_include/linux/const.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1*53ee8cc1Swenshuai.xi /* const.h: Macros for dealing with constants.  */
2*53ee8cc1Swenshuai.xi 
3*53ee8cc1Swenshuai.xi #ifndef _LINUX_CONST_H
4*53ee8cc1Swenshuai.xi #define _LINUX_CONST_H
5*53ee8cc1Swenshuai.xi 
6*53ee8cc1Swenshuai.xi /* Some constant macros are used in both assembler and
7*53ee8cc1Swenshuai.xi  * C code.  Therefore we cannot annotate them always with
8*53ee8cc1Swenshuai.xi  * 'UL' and other type specifiers unilaterally.  We
9*53ee8cc1Swenshuai.xi  * use the following macros to deal with this.
10*53ee8cc1Swenshuai.xi  *
11*53ee8cc1Swenshuai.xi  * Similarly, _AT() will cast an expression with a type in C, but
12*53ee8cc1Swenshuai.xi  * leave it unchanged in asm.
13*53ee8cc1Swenshuai.xi  */
14*53ee8cc1Swenshuai.xi 
15*53ee8cc1Swenshuai.xi #ifdef __ASSEMBLY__
16*53ee8cc1Swenshuai.xi #define _AC(X,Y)	X
17*53ee8cc1Swenshuai.xi #define _AT(T,X)	X
18*53ee8cc1Swenshuai.xi #else
19*53ee8cc1Swenshuai.xi #define __AC(X,Y)	(X##Y)
20*53ee8cc1Swenshuai.xi #define _AC(X,Y)	__AC(X,Y)
21*53ee8cc1Swenshuai.xi #define _AT(T,X)	((T)(X))
22*53ee8cc1Swenshuai.xi #endif
23*53ee8cc1Swenshuai.xi 
24*53ee8cc1Swenshuai.xi #endif /* !(_LINUX_CONST_H) */
25