[Bug c/67279] -fsanitize=undefined spurious error: initializer element is not constant
zeccav at gmail dot com
gcc-bugzilla@gcc.gnu.org
Wed Aug 19 19:33:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67279
--- Comment #3 from Vittorio Zecca <zeccav at gmail dot com> ---
The following code has UB at lines 4 and 5 but compiles with
-fsanitize=undefined
int main()
{
int test[1],t;
t=test[1];
return test[1];
}
Its execution it delivers four runtime errors from the sanitizer and I
am happy with that
ps.c:4:7: runtime error: index 1 out of bounds for type 'int [1]'
ps.c:4:2: runtime error: load of address 0x7ffcb21195f4 with
insufficient space for an object of type 'int'
0x7ffcb21195f4: note: pointer points here
e0 96 11 b2 fc 7f 00 00 00 00 00 00 00 00 00 00 70 07 40 00 00 00
00 00 e0 ff a1 0d 39 00 00 00
^
ps.c:5:12: runtime error: index 1 out of bounds for type 'int [1]'
ps.c:5:8: runtime error: load of address 0x7ffcb21195f4 with
insufficient space for an object of type 'int'
0x7ffcb21195f4: note: pointer points here
e0 96 11 b2 fc 7f 00 00 00 00 00 00 fc 7f 00 00 70 07 40 00 00 00
00 00 e0 ff a1 0d 39 00 00 00
In short: I like to see gcc -fsanitize=undefined to compile codes it
compiles without sanitation
More information about the Gcc-bugs
mailing list