diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/abi/layout1.C')
-rw-r--r-- | gcc/testsuite/g++.dg/abi/layout1.C | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/abi/layout1.C b/gcc/testsuite/g++.dg/abi/layout1.C new file mode 100644 index 00000000000..645ed6acfee --- /dev/null +++ b/gcc/testsuite/g++.dg/abi/layout1.C @@ -0,0 +1,31 @@ +// Red Hat bugzilla 64535 +// Bug: We are allocationg stuff into the tail padding of POD class "A". +// { dg-do run } + +struct A +{ + int x; + char y; +}; + +struct B : public A { + virtual void f () {} + char z; +}; + +A a = { 21, 42 }; +B b; + +int +main (void) +{ + b.x = 12; + b.y = 24; + b.z = 36; + + A *ap = &b; + + *ap = a; + + return (b.z != 36); +} |