Commit 4bcd578a by Martin Sebor Committed by Martin Sebor

PR c++/88565 - enhance -Warray-bounds for C++ trailing class member arrays

gcc/testsuite/ChangeLog:

	* g++.dg/warn/Warray-bounds-9.C: New test.

From-SVN: r277758
parent ac6f2e59
2019-11-03 Martin Sebor <msebor@redhat.com>
PR c++/88565
* g++.dg/warn/Warray-bounds-9.C: New test.
2019-11-02 Paolo Carlini <paolo.carlini@oracle.com> 2019-11-02 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/conversion/ptrmem9.C: Check location. * g++.dg/conversion/ptrmem9.C: Check location.
......
/* PR c++/88565 - enhance -Warray-bounds for C++ trailing class member arrays
{ dg-do compile }
{ dg-options "-O2 -Wall" } */
struct S0
{
S0 ();
int f ();
int a[0];
};
int S0::f ()
{
// The following is not diagnosed but should be in a class with a ctor.
return a[0]; // { dg-warning "\\\[-Warray-bounds" "pr88565" { xfail *-*-* } }
}
struct S1
{
S1 ();
int f ();
int a[1];
};
int S1::f ()
{
// The following is only diagnosed with -Warray-bounds=2 but should
// be even at level 1 in a call with a ctor.
return a[1]; // { dg-warning "\\\[-Warray-bounds" "pr88565" { xfail *-*-* } }
}
struct S2
{
S2 ();
int f ();
int a[2];
};
int S2::f ()
{
return a[2]; // { dg-warning "\\\[-Warray-bounds" }
}
struct S3
{
S3 ();
int f ();
int a[3];
};
int S3::f ()
{
return a[3]; // { dg-warning "\\\[-Warray-bounds" }
}
struct Sx
{
Sx ();
int f ();
int n, a[];
};
int Sx::f ()
{
// The following is not diagnosed but should be in a class with a ctor.
return a[0]; // { dg-warning "\\\[-Warray-bounds" "pr88565" { xfail *-*-* } }
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment