I have committed the attached change adjusting the expected test output to the difference between LP64 and ILP32.
Tested in both modes on x86_64 and with a powerpc64 cross-compiler. Martin
Adjust expected output for LP32 [PR100451]. gcc/testsuite/ChangeLog: PR testsuite/100451 * g++.dg/warn/Warray-bounds-20.C: Adjust expected output for LP32. diff --git a/gcc/testsuite/g++.dg/warn/Warray-bounds-20.C b/gcc/testsuite/g++.dg/warn/Warray-bounds-20.C index a65b29e6269..f4876d8a269 100644 --- a/gcc/testsuite/g++.dg/warn/Warray-bounds-20.C +++ b/gcc/testsuite/g++.dg/warn/Warray-bounds-20.C @@ -27,7 +27,7 @@ struct D1: virtual B, virtual C to the opening brace. */ D1 () { // { dg-warning "\\\[-Warray-bounds" "brace" } - ci = 0; // { dg-warning "\\\[-Warray-bounds" "assign" { xfail *-*-* } } + ci = 0; // { dg-warning "\\\[-Warray-bounds" "assign" { xfail lp64 } } } }; @@ -35,7 +35,8 @@ void sink (void*); void warn_derived_ctor_access_new_decl () { - char a[sizeof (D1)]; // { dg-message "at offset 1 into object 'a' of size 40" "note" } + char a[sizeof (D1)]; // { dg-message "at offset 1 into object 'a' of size 40" "LP64 note" { target lp64} } + // { dg-message "at offset 1 into object 'a' of size 20" "LP64 note" { target ilp32} .-1 } char *p = a; ++p; D1 *q = new (p) D1; @@ -52,7 +53,8 @@ void warn_derived_ctor_access_new_alloc () void warn_derived_ctor_access_new_array_decl () { - char b[sizeof (D1) * 2]; // { dg-message "at offset \\d+ into object 'b' of size 80" "note" } + char b[sizeof (D1) * 2]; // { dg-message "at offset \\d+ into object 'b' of size 80" "LP64 note" { target lp64 } } + // { dg-message "at offset \\d+ into object 'b' of size 40" "LP64 note" { target ilp32 } .-1 } char *p = b; ++p; D1 *q = new (p) D1[2];