1/* { dg-do compile } */
2/* { dg-options "-O -fdump-tree-optimized" } */
3
4extern void bar (unsigned int);
5
6int
7foo (void)
8{
9  char buf[1] = { 3 };
10  const char *p = buf;
11  const char **q = &p;
12  unsigned int ch;
13  switch (**q)
14    {
15    case 1:  ch = 5; break;
16    default: ch = 0; break;
17    }
18
19  bar (ch);
20  return ch;
21}
22
23/* { dg-final { scan-tree-dump "return 0;" "optimized" } } */
24/* { dg-final { cleanup-tree-dump "optimized" } } */
25