https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99418

--- Comment #1 from Ivan Sorokin <vanyacpp at gmail dot com> ---
Here is the reduced example. It doesn't SIGSEGV, but it doesn't report any
sanitizer errors either:

$ g++ -g -fsanitize=bounds 3.cpp
$ cat 3.cpp
#include <cstddef>

void escape(int& a)
{}

void test(size_t n, size_t m)
{
    int mas[n][m];
    escape(mas[n - 1][m]);
}

int main()
{
    test(4, 3);
}

Surprisingly if I replace taking a reference with writing to the array it will
show an error.

Reply via email to