GCC support for C++ noexcept
Jeffrey Walton
noloader@gmail.com
Mon Jul 27 15:08:00 GMT 2015
On Mon, Jul 27, 2015 at 10:58 AM, Jonathan Wakely <jwakely.gcc@gmail.com> wrote:
> On 27 July 2015 at 15:36, Jeffrey Walton wrote:
>> __GXX_EXPERIMENTAL_CXX0X breaks on Apple platforms and some Clang
>> based gear. Been there, done that....
>
> Breaks in what way?
You are the one who helped me through it years ago :)
It breaks the compile. You helped us with the out GXX_EXPERIMETAL
guard. testing on Apple and Clang revealed the need for the inner
guard (from https://code.google.com/p/owasp-esapi-cplusplus/source/browse/trunk/esapi/util/zAllocator.h):
#if defined(__GXX_EXPERIMENTAL_CXX0X__) && __GNUC__ == 4 && __GNUC_MINOR__ < 7
// Why is Apple defining __GXX_EXPERIMENTAL_CXX0X__
# if !(defined(ESAPI_OS_APPLE) || defined(ESAPI_OS_ANDROID))
template<typename U, typename... Args>
void construct(U* p, Args&&... a)
{
::new ((void*)p) U(std::forward<Args>(a)...);
}
template<typename U>
void destroy(U* p)
{
ASSERT(p);
if(p)
p->~U();
}
# endif
#endif
Jeff
More information about the Gcc-help
mailing list