diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/abi/vbase10.C')
-rw-r--r-- | gcc/testsuite/g++.dg/abi/vbase10.C | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/testsuite/g++.dg/abi/vbase10.C b/gcc/testsuite/g++.dg/abi/vbase10.C index 7683250ea5d..bd03105ec1d 100644 --- a/gcc/testsuite/g++.dg/abi/vbase10.C +++ b/gcc/testsuite/g++.dg/abi/vbase10.C @@ -3,5 +3,11 @@ struct A { virtual void f(); char c1; }; struct B { B(); char c2; }; -struct C : public A, public virtual B {}; // { dg-warning "ABI" } +// On ARM processors, the alignment of B will be 4 even though it +// contains only a single "char". That avoids the situation that the +// warning below is designed to catch. On ARM NetBSD, the alignment +// of B will be only 1 -- but there is no way to tell DejaGNU that a +// failure is expected on all ARM targets except arm*-*-netbsd*. +// Therefore, this test will XPASS on arm*-*-netbsd*. +struct C : public A, public virtual B {}; // { dg-warning "ABI" "" { xfail arm*-*-* } } |