1 /* { dg-do compile } */
2 /* { dg-options "-O2 -Werror-implicit-function-declaration" } */
3 
4 #define NORET(name)				\
5   void test_ ## name (void)			\
6   {						\
7     __builtin_arc_ ## name ();			\
8   }
9 
10 #define RET(name, rettype)			\
11   rettype test_ ## name (void)			\
12   {						\
13     return __builtin_arc_ ## name ();		\
14   }
15 
16 #define NORET1OP(name, op1type)			\
17   void test_ ## name ## _1 (void)		\
18   {						\
19     __builtin_arc_ ## name (0x10);		\
20   }
21 
22 
23 NORET (nop)
24 #if !defined (__ARC600__) && !defined (__ARC601__)
25 NORET (rtie)
26 #endif
27 
28 #ifdef __A7__
29  NORET (sync)
30 #endif
31 
32 NORET (brk)
33 NORET (swi)
34 
35 NORET1OP (sleep, unsigned int)
36 
37 #if defined (__A7__) || defined (__EM__) || defined (__HS__)
38 NORET1OP (trap_s, unsigned int)
39 NORET (unimp_s)
40 #endif
41 
42 #if defined (__EM__) || defined (__HS__)
43 RET (clri, int)
44 #endif
45