Mercurial > hg > CbC > CbC_gcc
comparison gcc/testsuite/gcc.dg/asan/use-after-scope-2.c @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children | 84e7813d76e9 |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 // { dg-do run } | |
2 // { dg-shouldfail "asan" } | |
3 | |
4 int *bar (int *x, int *y) { return y; } | |
5 | |
6 int foo (void) | |
7 { | |
8 char *p; | |
9 { | |
10 char a = 0; | |
11 p = &a; | |
12 } | |
13 | |
14 if (*p) | |
15 return 1; | |
16 else | |
17 return 0; | |
18 } | |
19 | |
20 int | |
21 main (void) | |
22 { | |
23 char *ptr; | |
24 { | |
25 char my_char[9]; | |
26 ptr = &my_char[0]; | |
27 } | |
28 | |
29 int a[16]; | |
30 int *p, *q = a; | |
31 { | |
32 int b[16]; | |
33 p = bar (a, b); | |
34 } | |
35 bar (a, q); | |
36 { | |
37 int c[16]; | |
38 q = bar (a, c); | |
39 } | |
40 int v = *bar (a, q); | |
41 return v; | |
42 } | |
43 | |
44 | |
45 // { dg-output "ERROR: AddressSanitizer: stack-use-after-scope on address.*(\n|\r\n|\r)" } | |
46 // { dg-output "READ of size 4 at.*" } | |
47 // { dg-output ".*'c' <== Memory access at offset \[0-9\]* is inside this variable.*" } |