1/* PR rtl-optimization/31691 */
2/* Origin: Chi-Hua Chen <stephaniechc-gccbug@yahoo.com> */
3
4extern void abort (void);
5
6static int get_kind(int) __attribute__ ((noinline));
7
8static int get_kind(int v)
9{
10  volatile int k = v;
11  return k;
12}
13
14static int some_call(void) __attribute__ ((noinline));
15
16static int some_call(void)
17{
18  return 0;
19}
20
21static void example (int arg)
22{
23  int tmp, kind = get_kind (arg);
24
25  if (kind == 9 || kind == 10 || kind == 5)
26    {
27      if (some_call() == 0)
28        {
29          if (kind == 9 || kind == 10)
30            tmp = arg;
31          else
32            abort();
33        }
34    }
35}
36
37int main(void)
38{
39  example(10);
40  return 0;
41}
42