annotate gcc/testsuite/g++.dg/ubsan/vla-1.C @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 // { dg-do run }
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 111
diff changeset
2 // { dg-options "-Wno-vla -Wno-stringop-overflow -fsanitize=undefined" }
111
kono
parents:
diff changeset
3 // { dg-output "index 1 out of bounds" }
kono
parents:
diff changeset
4
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 111
diff changeset
5 void f(int i)
1830386684a0 gcc-9.2.0
anatofuz
parents: 111
diff changeset
6 {
1830386684a0 gcc-9.2.0
anatofuz
parents: 111
diff changeset
7 /* The following creates an array of char[4] on the stack and
1830386684a0 gcc-9.2.0
anatofuz
parents: 111
diff changeset
8 the initialization triggers a -Wstringop-overflow with LTO
1830386684a0 gcc-9.2.0
anatofuz
parents: 111
diff changeset
9 (or when the function is inlined into the called, such as
1830386684a0 gcc-9.2.0
anatofuz
parents: 111
diff changeset
10 with -fwhole-program). See PR91258. The warning is
1830386684a0 gcc-9.2.0
anatofuz
parents: 111
diff changeset
11 suppressed above. */
111
kono
parents:
diff changeset
12 int ar[i] = { 42, 24 };
kono
parents:
diff changeset
13 }
kono
parents:
diff changeset
14
kono
parents:
diff changeset
15 int main()
kono
parents:
diff changeset
16 {
kono
parents:
diff changeset
17 f(1);
kono
parents:
diff changeset
18 }