https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91168
Bug ID: 91168
Summary: -Warray-bounds in valid program
Product: gcc
Version: 9.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: grishalipenko at protonmail dot com
Target Milestone: ---
Compile: g++ -Wall -Wextra -O2 -Werror -c main.cpp
class S
{
private:
double *x;
double d;
unsigned int N;
public:
int g (const double *b, int N_)
{
N = N_;
x = new double[N];
for (unsigned int i = 1; i < N - 1; i++)
{
d = b[i + 1];
}
return 0;
}
};
class A
{
S s;
public:
int f ();
};
int A::f ()
{
constexpr int N = 2;
double a[N] = {0., 0.};
s.g (a, N);
return 0;
}
No warning if compile with gcc 8.3.0 .