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)
# endif


More information about the Gcc-help mailing list