diff --git a/memory/mozalloc/mozalloc.h b/memory/mozalloc/mozalloc.h --- a/memory/mozalloc/mozalloc.h +++ b/memory/mozalloc/mozalloc.h @@ -170,16 +170,22 @@ MFBT_API void* moz_xvalloc(size_t size) #define MOZALLOC_THROW_IF_HAS_EXCEPTIONS throw() #define MOZALLOC_THROW_BAD_ALLOC_IF_HAS_EXCEPTIONS #elif defined(_MSC_VER) /* * Suppress build warning spam (bug 578546). */ #define MOZALLOC_THROW_IF_HAS_EXCEPTIONS #define MOZALLOC_THROW_BAD_ALLOC_IF_HAS_EXCEPTIONS +#elif __cplusplus >= 201103 +/* + * C++11 has deprecated exception-specifications in favour of |noexcept|. + */ +#define MOZALLOC_THROW_IF_HAS_EXCEPTIONS noexcept(true) +#define MOZALLOC_THROW_BAD_ALLOC_IF_HAS_EXCEPTIONS noexcept(false) #else #define MOZALLOC_THROW_IF_HAS_EXCEPTIONS throw() #define MOZALLOC_THROW_BAD_ALLOC_IF_HAS_EXCEPTIONS throw(std::bad_alloc) #endif #define MOZALLOC_THROW_BAD_ALLOC MOZALLOC_THROW_BAD_ALLOC_IF_HAS_EXCEPTIONS MOZALLOC_EXPORT_NEW