Add pretty printer for ASAN_MARK and add a helper fn
[platform/upstream/linaro-gcc.git] / gcc / testsuite / gcc.dg / asan / use-after-scope-switch-3.c
1 // { dg-do run }
2 // { dg-additional-options "-fdump-tree-gimple" }
3
4 int
5 main (int argc, char **argv)
6 {
7   int *ptr = 0;
8
9   for (unsigned i = 0; i < 2; i++)
10     {
11       switch (argc)
12         {
13         case 11111:;
14           int a;
15           ptr = &a;
16           break;
17           {
18             default:
19               ptr = &a;
20               *ptr = 12345;
21             case 222222:
22             my_label:
23               ptr = &a;
24               break;
25           }
26         }
27     }
28
29   if (argc == 333333)
30     goto my_label;
31
32   return 0;
33 }
34
35 /* { dg-final { scan-tree-dump-times "ASAN_MARK \\(UNPOISON, &a, \[0-9\]\\);" 4 "gimple" } }  */
36 /* { dg-final { scan-tree-dump-times "ASAN_MARK \\(POISON, &a, \[0-9\]\\);" 1 "gimple" } }  */