aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/frontend-passes.c
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2019-04-11 20:58:14 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2019-04-11 20:58:14 +0100
commit2c390a483bcbd114325bb27e47dcdebb49798fdf (patch)
treec6c0720f0c7f85c677449ef59e07871973d6af2e /gcc/fortran/frontend-passes.c
parent76d7e3f0246ed279d613e8c526168f48fe240afb (diff)
downloadgcc-2c390a483bcbd114325bb27e47dcdebb49798fdf.zip
gcc-2c390a483bcbd114325bb27e47dcdebb49798fdf.tar.gz
gcc-2c390a483bcbd114325bb27e47dcdebb49798fdf.tar.bz2
PR libstdc++/90046 fix build failure on epiphany-elf
The epiphany-elf target aligns structs to 8 bytes, which causes the static_assert(alignof(_Chunk) == 1) to fail. Instead of requiring _Chunks to be positionable at any alignment, ensure new buffers are aligned to alignof(_Chunk). Because the buffer size is a power of two, we know that both the buffer size and sizeof(_Chunk) are multiples of alignof(_Chunk). So is p is aligned to alignof(_Chunk) then so is (p + size - sizeof(_Chunk)). So just ensure the new buffer is aligned to at least alignof(_Chunk), which should already be true because the caller requests at least alignof(max_align_t). PR libstdc++/90046 * src/c++17/memory_resource.cc (monotonic_buffer_resource::_Chunk::allocate): Increase alignment if needed to allow placing a _Chunk at the end of the buffer. (monotonic_buffer_resource::_M_new_buffer): Remove static_assert. From-SVN: r270291
Diffstat (limited to 'gcc/fortran/frontend-passes.c')
0 files changed, 0 insertions, 0 deletions