Solaris memalign requires alignment to be at least sizeof(int), so increase it as needed. Also move the check for valid alignments from the fallback implementation of aligned_alloc into operator new, as it's required for all of aligned_alloc, memalign, posix_memalign and __aligned_malloc. This adds a branch to check for undefined behaviour which we could just ignore, so the check could just be removed. It should certainly be removed if PR 86878 is implemented to issue a warning about calls with invalid alignments. PR libstdc++/86861 * libsupc++/new_opa.cc [_GLIBCXX_HAVE_MEMALIGN] (aligned_alloc): Replace macro with inline function. [__sun]: Increase alignment to meet memalign precondition. [!HAVE__ALIGNED_MALLOC && !HAVE_POSIX_MEMALIGN && !HAVE_MEMALIGN] (aligned_alloc): Move check for valid alignment to operator new. Remove redundant check for non-zero size, it's enforced by the caller. (operator new): Move check for valid alignment here. Use __builtin_expect on check for zero size. From-SVN: r263360
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| config | Loading commit data... | |
| doc | Loading commit data... | |
| include | Loading commit data... | |
| libsupc++ | Loading commit data... | |
| po | Loading commit data... | |
| python | Loading commit data... | |
| scripts | Loading commit data... | |
| src | Loading commit data... | |
| testsuite | Loading commit data... | |
| ChangeLog | Loading commit data... | |
| ChangeLog-1998 | Loading commit data... | |
| ChangeLog-1999 | Loading commit data... | |
| ChangeLog-2000 | Loading commit data... | |
| ChangeLog-2001 | Loading commit data... | |
| ChangeLog-2002 | Loading commit data... | |
| ChangeLog-2003 | Loading commit data... | |
| ChangeLog-2004 | Loading commit data... | |
| ChangeLog-2005 | Loading commit data... | |
| ChangeLog-2006 | Loading commit data... | |
| ChangeLog-2007 | Loading commit data... | |
| ChangeLog-2008 | Loading commit data... | |
| ChangeLog-2009 | Loading commit data... | |
| ChangeLog-2010 | Loading commit data... | |
| ChangeLog-2011 | Loading commit data... | |
| ChangeLog-2012 | Loading commit data... | |
| ChangeLog-2013 | Loading commit data... | |
| ChangeLog-2014 | Loading commit data... | |
| ChangeLog-2015 | Loading commit data... | |
| ChangeLog-2016 | Loading commit data... | |
| ChangeLog-2017 | Loading commit data... | |
| Makefile.am | Loading commit data... | |
| Makefile.in | Loading commit data... | |
| README | Loading commit data... | |
| acinclude.m4 | Loading commit data... | |
| aclocal.m4 | Loading commit data... | |
| config.h.in | Loading commit data... | |
| configure | Loading commit data... | |
| configure.ac | Loading commit data... | |
| configure.host | Loading commit data... | |
| crossconfig.m4 | Loading commit data... | |
| fragment.am | Loading commit data... | |
| linkage.m4 | Loading commit data... |