diff options
author | Jakub Jelinek <jakub@redhat.com> | 2022-03-30 16:04:52 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2022-03-30 16:04:52 +0200 |
commit | 6a777ceb0e975f0efc823d2d82e676346f068151 (patch) | |
tree | f2a8564be1e5ee6d5e5980b8b906deb14d7dd724 /gcc | |
parent | f8c1f29a0b47b4b4a3c1506678f7ca2ce4b7ffbb (diff) | |
download | gcc-6a777ceb0e975f0efc823d2d82e676346f068151.zip gcc-6a777ceb0e975f0efc823d2d82e676346f068151.tar.gz gcc-6a777ceb0e975f0efc823d2d82e676346f068151.tar.bz2 |
testsuite: Change pr80334.C testcase to dg-do compile [PR102772]
The testcase has UB at runtime, placement new shouldn't construct
an object with certain alignment requirements into an unaligned buffer.
2022-03-30 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/80334
PR target/102772
* g++.dg/torture/pr80334.C: Change from dg-do run to dg-do compile.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/g++.dg/torture/pr80334.C | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/testsuite/g++.dg/torture/pr80334.C b/gcc/testsuite/g++.dg/torture/pr80334.C index aee1548..d25b677 100644 --- a/gcc/testsuite/g++.dg/torture/pr80334.C +++ b/gcc/testsuite/g++.dg/torture/pr80334.C @@ -1,4 +1,8 @@ -// { dg-do run } +// This used to be dg-do run testcase, but it is invalid at runtime: +// trying to do a placement new of A which is 16-byte sized and aligned +// into a 16-byte buffer at offset 17 bytes from 16-byte aligned address +// is UB. +// { dg-do compile } struct A { alignas(16) char c; }; struct B { A unpacked; char d; } __attribute__((packed)); |