1 /* { dg-do compile } */
2 /* { dg-options "-O2 -Werror-implicit-function-declaration" } */
3 
4 #define NORET1OP(name, op1type)			\
5   void test_ ## name ## _0 (op1type a)		\
6   {						\
7     __builtin_arc_ ## name (a);			\
8   }						\
9   void test_ ## name ## _1 (void)		\
10   {						\
11     __builtin_arc_ ## name (0x10);		\
12   }
13 
14 #define RET1OP(name, rettype, op1type)		\
15   rettype test_ ## name ## _0 (op1type a)	\
16   {						\
17     return __builtin_arc_ ## name (a);		\
18   }						\
19   rettype test_ ## name ## _1 (void)		\
20   {						\
21     return __builtin_arc_ ## name (0x10);	\
22   }
23 
24 NORET1OP (flag, unsigned int)
25 
26 #if defined (__EM__) || defined (__HS__)
27 NORET1OP (kflag, unsigned int)
28 NORET1OP (seti, int)
29 #endif
30 
31 
32 #ifdef __ARC_NORM__
33 RET1OP (norm, int, int)
34 RET1OP (normw, int, short)
35 #endif
36 
37