1 // PR sanitizer/78560
2 // { dg-do run }
3 // { dg-shouldfail "asan" }
4
foo(double a,double b)5 void foo (double a, double b)
6 {
7 double *ptr;
8 {
9 double x = a + b;
10 ptr = &x;
11 }
12 double square () { __builtin_printf ("", *ptr); }
13
14 square ();
15 }
16
main()17 int main()
18 {
19 foo (1.2f, 2.3f);
20 return 0;
21 }
22
23 // { dg-output "ERROR: AddressSanitizer: stack-use-after-scope on address.*(\n|\r\n|\r)" }
24 // { dg-output "READ of size.*" }
25 // { dg-output ".*'x' \\(line 9\\) <== Memory access at offset \[0-9\]* is inside this variable.*" }
26