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 } */
7 struct __jmp_buf_tag
{};
8 typedef struct __jmp_buf_tag
jmp_buf[1];
9 extern int _setjmp (struct __jmp_buf_tag __env
[1]);
11 jmp_buf g_return_jmp_buf
;
13 static void SetNaClSwitchExpectations (void)
15 __builtin_longjmp (g_return_jmp_buf
, 1);
17 void TestSyscall(void)
19 SetNaClSwitchExpectations();
21 _setjmp (g_return_jmp_buf
);
24 /* sizeof g_return_jmp_buf is zero size but it's being passed to
25 a function declared to take an array of one element which might
26 trigger a warning. Prune it out:
27 { dg-prune-output "-Wstringop-overflow" } */
29 /* { dg-final { scan-tree-dump-not "setjmp" "optimized" } } */