1 /* { dg-do compile } */
2 /* { dg-options "-fdump-tree-optimized" } */
3 /* { dg-skip-if "" { *-*-* } { "-fno-fat-lto-objects" } { "" } } */
4 /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
5 /* { dg-require-effective-target indirect_jumps } */
6 
7 struct __jmp_buf_tag {};
8 typedef struct __jmp_buf_tag jmp_buf[1];
9 extern int _setjmp (struct __jmp_buf_tag __env[1]);
10 
11 jmp_buf g_return_jmp_buf;
12 
SetNaClSwitchExpectations(void)13 static void SetNaClSwitchExpectations (void)
14 {
15   __builtin_longjmp (g_return_jmp_buf, 1);
16 }
TestSyscall(void)17 void TestSyscall(void)
18 {
19   SetNaClSwitchExpectations();
20   _setjmp (g_return_jmp_buf);
21 }
22 
23 /* { dg-final { scan-tree-dump-not "setjmp" "optimized" } } */
24