From efcb017e6f2c9f71e9e94512189c21a0f8510ce8 Mon Sep 17 00:00:00 2001 From: joerg Date: Fri, 29 Nov 2013 12:58:52 +0000 Subject: ISO C++ says that replacement operators new/delete must be global. --- mail/thunderbird10/distinfo | 4 +- .../patch-mozilla_memory_mozalloc_mozalloc.cpp | 81 +++++++++++ .../patch-mozilla_memory_mozalloc_mozalloc.h | 154 +++++++++++++++++++++ 3 files changed, 238 insertions(+), 1 deletion(-) create mode 100644 mail/thunderbird10/patches/patch-mozilla_memory_mozalloc_mozalloc.cpp create mode 100644 mail/thunderbird10/patches/patch-mozilla_memory_mozalloc_mozalloc.h diff --git a/mail/thunderbird10/distinfo b/mail/thunderbird10/distinfo index e4eef5abfb6..e8eb0595232 100644 --- a/mail/thunderbird10/distinfo +++ b/mail/thunderbird10/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.15 2013/08/29 12:57:35 joerg Exp $ +$NetBSD: distinfo,v 1.16 2013/11/29 12:58:52 joerg Exp $ SHA1 (thunderbird-10.0.12esr.source.tar.bz2) = 260a3baca5eaa80bcc075b08c9f12016d61877de RMD160 (thunderbird-10.0.12esr.source.tar.bz2) = 63586fc3460f4522900b84f58805c3a3a9cfe7a6 @@ -82,6 +82,8 @@ SHA1 (patch-mozilla_js_src_methodjit_MethodJIT.cpp) = c27d2e4105ea47a0fe2bec42ed SHA1 (patch-mozilla_js_src_yarr_pcre_pcre.h) = 7d450964eba9c64cad932075c714087047fc8642 SHA1 (patch-mozilla_media_libvpx_vpx__config.h) = cb7bb829ea120f6d295de7807b13e4c720b3f88f SHA1 (patch-mozilla_media_libvpx_vpx__config__c.c) = 0e04badaf5ff4b04a313cf9bb40727d87202051f +SHA1 (patch-mozilla_memory_mozalloc_mozalloc.cpp) = 7564823ec016b0ac3ff0f2e1ab0d6bb8f674c4f7 +SHA1 (patch-mozilla_memory_mozalloc_mozalloc.h) = 06d970c93d561ac787fe3cf11eba717a2416d8c9 SHA1 (patch-mozilla_nsprpub_pr_include_md___dragonfly.cfg) = 1496442dfa274cab6622db350c138635e6cf7376 SHA1 (patch-mozilla_nsprpub_pr_include_md___pth.h) = b8aab2979a289512b93e04bc3bbc38845029719d SHA1 (patch-mozilla_nsprpub_pr_include_md_prosdep.h) = 576fc831d79e9594c1f90907d53e4fbc17f4644a diff --git a/mail/thunderbird10/patches/patch-mozilla_memory_mozalloc_mozalloc.cpp b/mail/thunderbird10/patches/patch-mozilla_memory_mozalloc_mozalloc.cpp new file mode 100644 index 00000000000..8e34275548a --- /dev/null +++ b/mail/thunderbird10/patches/patch-mozilla_memory_mozalloc_mozalloc.cpp @@ -0,0 +1,81 @@ +$NetBSD: patch-mozilla_memory_mozalloc_mozalloc.cpp,v 1.1 2013/11/29 12:58:52 joerg Exp $ + +--- mozilla/memory/mozalloc/mozalloc.cpp.orig 2013-01-05 14:22:31.000000000 +0000 ++++ mozilla/memory/mozalloc/mozalloc.cpp +@@ -273,3 +273,76 @@ namespace mozilla { + const fallible_t fallible = fallible_t(); + + } // namespace mozilla ++ ++ ++MOZALLOC_EXPORT ++void* operator new(size_t size) MOZALLOC_THROW_BAD_ALLOC ++{ ++ return moz_xmalloc(size); ++} ++ ++MOZALLOC_EXPORT ++void* operator new(size_t size, const std::nothrow_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS ++{ ++ return moz_malloc(size); ++} ++ ++MOZALLOC_EXPORT ++void* operator new[](size_t size) MOZALLOC_THROW_BAD_ALLOC ++{ ++ return moz_xmalloc(size); ++} ++ ++MOZALLOC_EXPORT ++void* operator new[](size_t size, const std::nothrow_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS ++{ ++ return moz_malloc(size); ++} ++ ++MOZALLOC_EXPORT ++void operator delete(void* ptr) MOZALLOC_THROW_IF_HAS_EXCEPTIONS ++{ ++ return moz_free(ptr); ++} ++ ++MOZALLOC_EXPORT ++void operator delete(void* ptr, const std::nothrow_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS ++{ ++ return moz_free(ptr); ++} ++ ++MOZALLOC_EXPORT ++void operator delete[](void* ptr) MOZALLOC_THROW_IF_HAS_EXCEPTIONS ++{ ++ return moz_free(ptr); ++} ++ ++MOZALLOC_EXPORT ++void operator delete[](void* ptr, const std::nothrow_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS ++{ ++ return moz_free(ptr); ++} ++ ++MOZALLOC_EXPORT ++void* operator new(size_t size, const mozilla::fallible_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS ++{ ++ return moz_malloc(size); ++} ++ ++MOZALLOC_EXPORT ++void* operator new[](size_t size, const mozilla::fallible_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS ++{ ++ return moz_malloc(size); ++} ++ ++MOZALLOC_EXPORT ++void operator delete(void* ptr, const mozilla::fallible_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS ++{ ++ moz_free(ptr); ++} ++ ++MOZALLOC_EXPORT ++void operator delete[](void* ptr, const mozilla::fallible_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS ++{ ++ moz_free(ptr); ++} diff --git a/mail/thunderbird10/patches/patch-mozilla_memory_mozalloc_mozalloc.h b/mail/thunderbird10/patches/patch-mozilla_memory_mozalloc_mozalloc.h new file mode 100644 index 00000000000..5fae8b75198 --- /dev/null +++ b/mail/thunderbird10/patches/patch-mozilla_memory_mozalloc_mozalloc.h @@ -0,0 +1,154 @@ +$NetBSD: patch-mozilla_memory_mozalloc_mozalloc.h,v 1.1 2013/11/29 12:58:52 joerg Exp $ + +--- mozilla/memory/mozalloc/mozalloc.h.orig 2013-01-05 14:22:31.000000000 +0000 ++++ mozilla/memory/mozalloc/mozalloc.h +@@ -68,15 +68,6 @@ + # define MOZALLOC_EXPORT + #endif + +- +-#if defined(NS_ALWAYS_INLINE) +-# define MOZALLOC_INLINE NS_ALWAYS_INLINE inline +-#elif defined(HAVE_FORCEINLINE) +-# define MOZALLOC_INLINE __forceinline +-#else +-# define MOZALLOC_INLINE inline +-#endif +- + /* Workaround build problem with Sun Studio 12 */ + #if defined(__SUNPRO_C) || defined(__SUNPRO_CC) + # undef NS_WARN_UNUSED_RESULT +@@ -198,15 +189,6 @@ MOZALLOC_EXPORT void* moz_valloc(size_t + * that |::operator new() throw(std::bad_alloc)| will never return NULL. + */ + +-/* NB: This is defined just to silence vacuous warnings about symbol +- * visibility on OS X/gcc. These symbols are force-inline and not +- * exported. */ +-#if defined(XP_MACOSX) +-# define MOZALLOC_EXPORT_NEW MOZALLOC_EXPORT +-#else +-# define MOZALLOC_EXPORT_NEW +-#endif +- + #if defined(ANDROID) || defined(_MSC_VER) + /* + * Android doesn't fully support exceptions, so its header +@@ -222,53 +204,29 @@ MOZALLOC_EXPORT void* moz_valloc(size_t + + #define MOZALLOC_THROW_BAD_ALLOC MOZALLOC_THROW_BAD_ALLOC_IF_HAS_EXCEPTIONS + +-MOZALLOC_EXPORT_NEW MOZALLOC_INLINE +-void* operator new(size_t size) MOZALLOC_THROW_BAD_ALLOC +-{ +- return moz_xmalloc(size); +-} +- +-MOZALLOC_EXPORT_NEW MOZALLOC_INLINE +-void* operator new(size_t size, const std::nothrow_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS +-{ +- return moz_malloc(size); +-} +- +-MOZALLOC_EXPORT_NEW MOZALLOC_INLINE +-void* operator new[](size_t size) MOZALLOC_THROW_BAD_ALLOC +-{ +- return moz_xmalloc(size); +-} +- +-MOZALLOC_EXPORT_NEW MOZALLOC_INLINE +-void* operator new[](size_t size, const std::nothrow_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS +-{ +- return moz_malloc(size); +-} +- +-MOZALLOC_EXPORT_NEW MOZALLOC_INLINE +-void operator delete(void* ptr) MOZALLOC_THROW_IF_HAS_EXCEPTIONS +-{ +- return moz_free(ptr); +-} +- +-MOZALLOC_EXPORT_NEW MOZALLOC_INLINE +-void operator delete(void* ptr, const std::nothrow_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS +-{ +- return moz_free(ptr); +-} +- +-MOZALLOC_EXPORT_NEW MOZALLOC_INLINE +-void operator delete[](void* ptr) MOZALLOC_THROW_IF_HAS_EXCEPTIONS +-{ +- return moz_free(ptr); +-} +- +-MOZALLOC_EXPORT_NEW MOZALLOC_INLINE +-void operator delete[](void* ptr, const std::nothrow_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS +-{ +- return moz_free(ptr); +-} ++MOZALLOC_EXPORT ++void* operator new(size_t size) MOZALLOC_THROW_BAD_ALLOC; ++ ++MOZALLOC_EXPORT ++void* operator new(size_t size, const std::nothrow_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS; ++ ++MOZALLOC_EXPORT ++void* operator new[](size_t size) MOZALLOC_THROW_BAD_ALLOC; ++ ++MOZALLOC_EXPORT ++void* operator new[](size_t size, const std::nothrow_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS; ++ ++MOZALLOC_EXPORT ++void operator delete(void* ptr) MOZALLOC_THROW_IF_HAS_EXCEPTIONS; ++ ++MOZALLOC_EXPORT ++void operator delete(void* ptr, const std::nothrow_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS; ++ ++MOZALLOC_EXPORT ++void operator delete[](void* ptr) MOZALLOC_THROW_IF_HAS_EXCEPTIONS; ++ ++MOZALLOC_EXPORT ++void operator delete[](void* ptr, const std::nothrow_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS; + + + /* +@@ -296,29 +254,17 @@ struct MOZALLOC_EXPORT fallible_t { }; + + } /* namespace mozilla */ + +-MOZALLOC_INLINE +-void* operator new(size_t size, const mozilla::fallible_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS +-{ +- return moz_malloc(size); +-} +- +-MOZALLOC_INLINE +-void* operator new[](size_t size, const mozilla::fallible_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS +-{ +- return moz_malloc(size); +-} +- +-MOZALLOC_INLINE +-void operator delete(void* ptr, const mozilla::fallible_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS +-{ +- moz_free(ptr); +-} +- +-MOZALLOC_INLINE +-void operator delete[](void* ptr, const mozilla::fallible_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS +-{ +- moz_free(ptr); +-} ++MOZALLOC_EXPORT ++void* operator new(size_t size, const mozilla::fallible_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS; ++ ++MOZALLOC_EXPORT ++void* operator new[](size_t size, const mozilla::fallible_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS; ++ ++MOZALLOC_EXPORT ++void operator delete(void* ptr, const mozilla::fallible_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS; ++ ++MOZALLOC_EXPORT ++void operator delete[](void* ptr, const mozilla::fallible_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS; + + #endif /* ifdef __cplusplus */ + -- cgit v1.2.3