g++.dg/warn/Wplacement-new-size-1.C, -2, -6: Fix for default_packed targets
Looking at commit de05c19d5f
, that adjustment to these
tests apparently assumed that the testsuite is run (only) on
targets where structure memory layout has padding as per
"natural alignment". For cris-elf, a target with no padding
in structure memory layout, these tests have been failing
since that commit.
Tested cris-elf and x86_64-linux, committed as obvious.
gcc/testsuite:
* g++.dg/warn/Wplacement-new-size-1.C,
g++.dg/warn/Wplacement-new-size-2.C,
g++.dg/warn/Wplacement-new-size-6.C: Adjust for
default_packed targets.
This commit is contained in:
parent
2f5765cf25
commit
222abf8be5
3 changed files with 24 additions and 24 deletions
|
@ -67,8 +67,8 @@ void fBx (BAx *pbx, BAx &rbx)
|
|||
{
|
||||
BAx bax;
|
||||
// The uninitialized flexible array takes up the bytes of padding.
|
||||
new (bax.ax.a) char;
|
||||
new (bax.ax.a) Int16;
|
||||
new (bax.ax.a) char; // { dg-warning "placement" "" { target default_packed } }
|
||||
new (bax.ax.a) Int16; // { dg-warning "placement" "" { target default_packed } }
|
||||
new (bax.ax.a) Int32; // { dg-warning "placement" }
|
||||
|
||||
new (pbx->ax.a) char;
|
||||
|
@ -86,10 +86,10 @@ void fBx1 ()
|
|||
static BAx bax1 = { 1, /* Ax = */ { 2, /* a[] = */ {} } };
|
||||
|
||||
// The empty flexible array takes up the bytes of padding.
|
||||
new (bax1.ax.a) char;
|
||||
new (bax1.ax.a) char[2];
|
||||
new (bax1.ax.a) Int16;
|
||||
new (bax1.ax.a) char[3];
|
||||
new (bax1.ax.a) char; // { dg-warning "placement" "" { target default_packed } }
|
||||
new (bax1.ax.a) char[2]; // { dg-warning "placement" "" { target default_packed } }
|
||||
new (bax1.ax.a) Int16; // { dg-warning "placement" "" { target default_packed } }
|
||||
new (bax1.ax.a) char[3]; // { dg-warning "placement" "" { target default_packed } }
|
||||
new (bax1.ax.a) char[4]; // { dg-warning "placement" }
|
||||
new (bax1.ax.a) Int32; // { dg-warning "placement" }
|
||||
}
|
||||
|
|
|
@ -125,9 +125,9 @@ void fBx (BAx *pbx, BAx &rbx)
|
|||
{
|
||||
BAx bax;
|
||||
// The uninitialized flexible array takes up the bytes of padding.
|
||||
new (bax.ax.a) char;
|
||||
new (bax.ax.a) Int16;
|
||||
new (bax.ax.a) char[3];
|
||||
new (bax.ax.a) char; // { dg-warning "placement" "" { target default_packed } }
|
||||
new (bax.ax.a) Int16; // { dg-warning "placement" "" { target default_packed } }
|
||||
new (bax.ax.a) char[3]; // { dg-warning "placement" "" { target default_packed } }
|
||||
new (bax.ax.a) Int32; // { dg-warning "placement" }
|
||||
new (bax.ax.a) char[4]; // { dg-warning "placement" }
|
||||
new (bax.ax.a) char[5]; // { dg-warning "placement" }
|
||||
|
@ -147,10 +147,10 @@ void fBx1 ()
|
|||
static BAx bax1 = { 1, /* Ax = */ { 2, /* a[] = */ {} } };
|
||||
|
||||
// The empty flexible array takes up the bytes of padding.
|
||||
new (bax1.ax.a) char;
|
||||
new (bax1.ax.a) char[2];
|
||||
new (bax1.ax.a) Int16;
|
||||
new (bax1.ax.a) char[3];
|
||||
new (bax1.ax.a) char; // { dg-warning "placement" "" { target default_packed } }
|
||||
new (bax1.ax.a) char[2]; // { dg-warning "placement" "" { target default_packed } }
|
||||
new (bax1.ax.a) Int16; // { dg-warning "placement" "" { target default_packed } }
|
||||
new (bax1.ax.a) char[3]; // { dg-warning "placement" "" { target default_packed } }
|
||||
new (bax1.ax.a) Int32; // { dg-warning "placement" }
|
||||
new (bax1.ax.a) char[4]; // { dg-warning "placement" }
|
||||
new (bax1.ax.a) char[5]; // { dg-warning "placement" }
|
||||
|
|
|
@ -18,9 +18,9 @@ void fBx1 ()
|
|||
static BAx bax1 = { 1, /* Ax = */ { 2, /* a[] = */ { 3 } } }; // { dg-error "initialization of flexible array member in a nested context" }
|
||||
|
||||
// The first three bytes of the flexible array member live in the padding.
|
||||
new (bax1.ax.a) char;
|
||||
new (bax1.ax.a) char[2];
|
||||
new (bax1.ax.a) Int16;
|
||||
new (bax1.ax.a) char; // { dg-warning "placement" "" { target default_packed } }
|
||||
new (bax1.ax.a) char[2]; // { dg-warning "placement" "" { target default_packed } }
|
||||
new (bax1.ax.a) Int16; // { dg-warning "placement" "" { target default_packed } }
|
||||
new (bax1.ax.a) Int32; // { dg-warning "placement" }
|
||||
}
|
||||
|
||||
|
@ -29,10 +29,10 @@ void fBx2 ()
|
|||
static BAx bax2 = { 1, /* Ax = */ { 2, /* a[] = */ { 3, 4 } } }; // { dg-error "initialization of flexible array member in a nested context" }
|
||||
|
||||
// The first three bytes of the flexible array member live in the padding.
|
||||
new (bax2.ax.a) char;
|
||||
new (bax2.ax.a) char[2];
|
||||
new (bax2.ax.a) char[3];
|
||||
new (bax2.ax.a) Int16;
|
||||
new (bax2.ax.a) char; // { dg-warning "placement" "" { target default_packed } }
|
||||
new (bax2.ax.a) char[2]; // { dg-warning "placement" "" { target default_packed } }
|
||||
new (bax2.ax.a) char[3]; // { dg-warning "placement" "" { target default_packed } }
|
||||
new (bax2.ax.a) Int16; // { dg-warning "placement" "" { target default_packed } }
|
||||
new (bax2.ax.a) char[4]; // { dg-warning "placement" }
|
||||
new (bax2.ax.a) Int32; // { dg-warning "placement" }
|
||||
}
|
||||
|
@ -42,10 +42,10 @@ void fBx3 ()
|
|||
static BAx bax2 = { 1, /* Ax = */ { 3, /* a[] = */ { 4, 5, 6 } } }; // { dg-error "initialization of flexible array member in a nested context" }
|
||||
|
||||
// The first three bytes of the flexible array member live in the padding.
|
||||
new (bax2.ax.a) char;
|
||||
new (bax2.ax.a) char[2];
|
||||
new (bax2.ax.a) Int16;
|
||||
new (bax2.ax.a) char[3];
|
||||
new (bax2.ax.a) char; // { dg-warning "placement" "" { target default_packed } }
|
||||
new (bax2.ax.a) char[2]; // { dg-warning "placement" "" { target default_packed } }
|
||||
new (bax2.ax.a) Int16; // { dg-warning "placement" "" { target default_packed } }
|
||||
new (bax2.ax.a) char[3]; // { dg-warning "placement" "" { target default_packed } }
|
||||
new (bax2.ax.a) char[4]; // { dg-warning "placement" }
|
||||
new (bax2.ax.a) Int32; // { dg-warning "placement" }
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue