PR libstdc++/79190 add fallback aligned_alloc implementation
authorJonathan Wakely <jwakely@redhat.com>
Thu, 26 Jan 2017 14:30:45 +0000 (14:30 +0000)
committerJonathan Wakely <redi@gcc.gnu.org>
Thu, 26 Jan 2017 14:30:45 +0000 (14:30 +0000)
commitbc9efeab61120db9c282def38dd1a052de69f610
treeaef51adb0dc768bece17a84b975f87f079e9ca93
parentb5f75f0b64a5692ebe823fffcf6d3a8c82c52d10
PR libstdc++/79190 add fallback aligned_alloc implementation

libstdc++-v3:

PR libstdc++/79190
* libsupc++/del_opa.cc (operator delete(void*, std::align_val_t))
[!_GLIBCXX_HAVE_ALIGNED_ALLOC && !_GLIBCXX_HAVE_POSIX_MEMALIGN
&& !_GLIBCXX_HAVE_MEMALIGN && !_GLIBCXX_HAVE__ALIGNED_MALLOC]:
Retrieve original pointer value allocated by malloc.
* libsupc++/new_opa.cc [!_GLIBCXX_HAVE_ALIGNED_ALLOC
&& !_GLIBCXX_HAVE_POSIX_MEMALIGN && !_GLIBCXX_HAVE_MEMALIGN
&& !_GLIBCXX_HAVE__ALIGNED_MALLOC] (aligned_alloc(size_t, size_t)):
Define, adjusting pointer value allocated by malloc and storing for
retrieval by operator delete.

gcc/testsuite:

PR libstdc++/79190
* g++.dg/cpp1z/aligned-new3.C: Replace operator new so behaviour
matches replaced operator delete.

From-SVN: r244933
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp1z/aligned-new3.C
libstdc++-v3/ChangeLog
libstdc++-v3/libsupc++/del_opa.cc
libstdc++-v3/libsupc++/new_opa.cc