/* { dg-do compile } */ /* { dg-options "-O2 -Werror-implicit-function-declaration" } */ #define NORET(name) \ void test_ ## name (void) \ { \ __builtin_arc_ ## name (); \ } #define RET(name, rettype) \ rettype test_ ## name (void) \ { \ return __builtin_arc_ ## name (); \ } #define NORET1OP(name, op1type) \ void test_ ## name ## _1 (void) \ { \ __builtin_arc_ ## name (0x10); \ } NORET (nop) #if !defined (__ARC600__) && !defined (__ARC601__) NORET (rtie) #endif #ifdef __A7__ NORET (sync) #endif NORET (brk) NORET (swi) NORET1OP (sleep, unsigned int) #if defined (__A7__) || defined (__EM__) || defined (__HS__) NORET1OP (trap_s, unsigned int) NORET (unimp_s) #endif #if defined (__EM__) || defined (__HS__) RET (clri, int) #endif