1 // { dg-do run }
2 // { dg-shouldfail "asan" }
3 // { dg-skip-if "" { *-*-* }  { "*" } { "-O2" } }
4 // { dg-additional-options "-fdump-tree-asan1 -ffat-lto-objects" }
5 
6 int
main(int argc,char ** argv)7 main (int argc, char **argv)
8 {
9   int *ptr = 0;
10 
11   {
12     int a;
13     ptr = &a;
14     *ptr = 12345;
15   }
16 
17   return *ptr;
18 }
19 
20 // { dg-final { scan-tree-dump-times {= \.ASAN_POISON \(\)} 1 "asan1" } }
21 // { dg-output "ERROR: AddressSanitizer: stack-use-after-scope on address.*(\n|\r\n|\r)" }
22 // { dg-output "READ of size .*" }
23 // { dg-output ".*'a' \\(line 12\\) <== Memory access at offset \[0-9\]* is inside this variable.*" }
24