summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/pr107867.C
blob: 16c7499cf7b679ca46ef26dc281cef1f6c8f8f4c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// { dg-do compile }
// { dg-options "-Os -fno-tree-ccp -Wuninitialized" }

void printf(...);
void __sigsetjmp_cancel() __attribute__((__returns_twice__));
int z, main_ret;
void func(void *) {}

int
main()
{
  int x;
  void (*__cancel_routine)(void *)(func);
  __sigsetjmp_cancel();
  __cancel_routine(0);
  if (main_ret)
    x = z;
  printf(x);
}