gcc/libstdc++-v3/src
Jonathan Wakely 2c390a483b 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
2019-04-11 20:58:14 +01:00
..
c++11 PR libstdc++/89466 avoid slow xsltproc command in configure 2019-02-27 11:25:44 +00:00
c++17 PR libstdc++/90046 fix build failure on epiphany-elf 2019-04-11 20:58:14 +01:00
c++98 PR libstdc++/89466 avoid slow xsltproc command in configure 2019-02-27 11:25:44 +00:00
filesystem PR libstdc++/89562 use binary mode for file I/O 2019-03-03 22:23:33 +00:00
shared Update copyright years. 2019-01-01 13:31:55 +01:00
Makefile.am Update copyright years. 2019-01-01 13:31:55 +01:00
Makefile.in PR libstdc++/89466 avoid slow xsltproc command in configure 2019-02-27 11:25:44 +00:00