diff options
-rw-r--r-- | .SRCINFO | 35 | ||||
-rw-r--r-- | 0001-Bug-1435212-Add-support-for-FFmpeg-4.0.-r-bryce.patch.xz | bin | 0 -> 100796 bytes | |||
-rw-r--r-- | 0001-Bug-54395-remove-hardcoded-flag-lcrmf.patch | 25 | ||||
-rw-r--r-- | PKGBUILD | 95 | ||||
-rw-r--r-- | fix-wifi-scanner.diff | 16 | ||||
-rw-r--r-- | make_SystemResourceMonitor.stop_more_resilient_to_errors.patch | 119 | ||||
-rw-r--r-- | no-crmf.diff | 15 | ||||
-rw-r--r-- | nvidia-GLSL-version.patch | 11 | ||||
-rw-r--r-- | rust-i686.patch | 16 | ||||
-rw-r--r-- | use_noexcept_in_mozalloc.patch | 31 |
10 files changed, 67 insertions, 296 deletions
@@ -1,6 +1,6 @@ pkgbase = firefox-esr pkgdesc = Standalone web browser from mozilla.org, Extended Support Release - pkgver = 52.7.4 + pkgver = 60.0 pkgrel = 1 url = https://www.mozilla.org/en-US/firefox/organizations/ arch = i686 @@ -16,53 +16,48 @@ pkgbase = firefox-esr makedepends = mesa makedepends = imake makedepends = gconf - makedepends = libpulse makedepends = inetutils makedepends = xorg-server-xvfb makedepends = autoconf2.13 makedepends = rust + makedepends = clang + makedepends = llvm + makedepends = jack + makedepends = gtk2 depends = gtk3 - depends = gtk2 depends = mozilla-common depends = libxt depends = startup-notification depends = mime-types depends = dbus-glib - depends = alsa-lib depends = ffmpeg - depends = libvpx - depends = libevent depends = nss depends = hunspell depends = sqlite depends = ttf-font + depends = libpulse + depends = libvpx depends = icu optdepends = networkmanager: Location detection via available WiFi networks optdepends = libnotify: Notification integration + optdepends = pulseaudio: Audio support optdepends = speech-dispatcher: Text-to-Speech provides = firefox conflicts = firefox options = !emptydirs options = !makeflags - source = https://ftp.mozilla.org/pub/firefox/releases/52.7.4esr/source/firefox-52.7.4esr.source.tar.xz + options = !strip + source = https://ftp.mozilla.org/pub/firefox/releases/60.0esr/source/firefox-60.0esr.source.tar.xz source = firefox.desktop source = firefox-symbolic.svg - source = 0001-Bug-54395-remove-hardcoded-flag-lcrmf.patch - source = firefox-install-dir.patch - source = fix-wifi-scanner.diff - source = rust-i686.patch - source = make_SystemResourceMonitor.stop_more_resilient_to_errors.patch - source = use_noexcept_in_mozalloc.patch + source = 0001-Bug-1435212-Add-support-for-FFmpeg-4.0.-r-bryce.patch.xz + source = no-crmf.diff validpgpkeys = 2B90598A745E992F315E22C58AB132963A06537A - sha256sums = 9f77405c164c88befd2a7811e30019a016cbfb091eaeb8fe631be292d882c336 + sha256sums = d3df941612fce7c89755d63a5afe46ed60414dbb47bc9c18bddfb1ae429d5322 sha256sums = c202e5e18da1eeddd2e1d81cb3436813f11e44585ca7357c4c5f1bddd4bec826 sha256sums = a2474b32b9b2d7e0fb53a4c89715507ad1c194bef77713d798fa39d507def9e9 - sha256sums = 93c495526c1a1227f76dda5f3a43b433bc7cf217aaf74bd06b8fc187d285f593 - sha256sums = d86e41d87363656ee62e12543e2f5181aadcff448e406ef3218e91865ae775cd - sha256sums = 9765bca5d63fb5525bbd0520b7ab1d27cabaed697e2fc7791400abc3fa4f13b8 - sha256sums = f61ea706ce6905f568b9bdafd1b044b58f20737426f0aa5019ddb9b64031a269 - sha256sums = 7760ebe71f4057cbd2f52b715abaf0d944c14c39e2bb2a5322114ad8451e12d9 - sha256sums = 32eae55bf9151df5f77ee98585e6cef4cc7ee2e5f2ca44c1a42f87d132eb22d8 + sha256sums = 8422030440032535d918844263fbd92d39bff207acb5fff55ed0afee38bcf582 + sha256sums = 02000d185e647aa20ca336e595b4004bb29cdae9d8f317f90078bdcc7a36e873 pkgname = firefox-esr diff --git a/0001-Bug-1435212-Add-support-for-FFmpeg-4.0.-r-bryce.patch.xz b/0001-Bug-1435212-Add-support-for-FFmpeg-4.0.-r-bryce.patch.xz Binary files differnew file mode 100644 index 000000000000..721851592ca1 --- /dev/null +++ b/0001-Bug-1435212-Add-support-for-FFmpeg-4.0.-r-bryce.patch.xz diff --git a/0001-Bug-54395-remove-hardcoded-flag-lcrmf.patch b/0001-Bug-54395-remove-hardcoded-flag-lcrmf.patch deleted file mode 100644 index 0cdbaa33b117..000000000000 --- a/0001-Bug-54395-remove-hardcoded-flag-lcrmf.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- a/old-configure.in 2017-05-12 22:21:13.000000000 +0200 -+++ b/old-configure.in 2017-06-14 00:21:17.128183411 +0200 -@@ -2127,7 +2127,7 @@ - fi - - if test -n "$MOZ_SYSTEM_NSS"; then -- NSS_LIBS="$NSS_LIBS -lcrmf" -+ NSS_LIBS="$NSS_LIBS" - else - NSS_CFLAGS="-I${DIST}/include/nss" - fi - ---- a/security/manager/ssl/moz.build 2017-04-11 04:13:24.000000000 +0200 -+++ b/security/manager/ssl/moz.build 2017-06-14 01:03:48.295633516 +0200 -@@ -184,10 +184,6 @@ - - DEFINES['CERT_AddTempCertToPerm'] = '__CERT_AddTempCertToPerm' - --USE_LIBS += [ -- 'crmf', --] -- - include('/ipc/chromium/chromium-config.mozbuild') - - if CONFIG['GNU_CXX']: @@ -4,38 +4,32 @@ # Contributor: Jakub Schmidtke <sjakub@gmail.com> pkgname=firefox-esr -pkgver=52.7.4 +pkgver=60.0 pkgrel=1 pkgdesc="Standalone web browser from mozilla.org, Extended Support Release" arch=(i686 x86_64) license=(MPL GPL LGPL) url="https://www.mozilla.org/en-US/firefox/organizations/" -depends=(gtk3 gtk2 mozilla-common libxt startup-notification mime-types dbus-glib alsa-lib ffmpeg - libvpx libevent nss hunspell sqlite ttf-font icu) -makedepends=(unzip zip diffutils python2 yasm mesa imake gconf libpulse inetutils xorg-server-xvfb - autoconf2.13 rust) +depends=(gtk3 mozilla-common libxt startup-notification mime-types dbus-glib ffmpeg + nss hunspell sqlite ttf-font libpulse libvpx icu) +makedepends=(unzip zip diffutils python2 yasm mesa imake gconf inetutils xorg-server-xvfb + autoconf2.13 rust clang llvm jack gtk2) optdepends=('networkmanager: Location detection via available WiFi networks' 'libnotify: Notification integration' + 'pulseaudio: Audio support' 'speech-dispatcher: Text-to-Speech') provides=(firefox) conflicts=(firefox) -options=(!emptydirs !makeflags) +options=(!emptydirs !makeflags !strip) source=(https://ftp.mozilla.org/pub/firefox/releases/${pkgver}esr/source/firefox-${pkgver}esr.source.tar.xz firefox.desktop firefox-symbolic.svg - 0001-Bug-54395-remove-hardcoded-flag-lcrmf.patch - firefox-install-dir.patch fix-wifi-scanner.diff - rust-i686.patch - make_SystemResourceMonitor.stop_more_resilient_to_errors.patch - use_noexcept_in_mozalloc.patch) -sha256sums=('9f77405c164c88befd2a7811e30019a016cbfb091eaeb8fe631be292d882c336' + 0001-Bug-1435212-Add-support-for-FFmpeg-4.0.-r-bryce.patch.xz + no-crmf.diff) +sha256sums=('d3df941612fce7c89755d63a5afe46ed60414dbb47bc9c18bddfb1ae429d5322' 'c202e5e18da1eeddd2e1d81cb3436813f11e44585ca7357c4c5f1bddd4bec826' 'a2474b32b9b2d7e0fb53a4c89715507ad1c194bef77713d798fa39d507def9e9' - '93c495526c1a1227f76dda5f3a43b433bc7cf217aaf74bd06b8fc187d285f593' - 'd86e41d87363656ee62e12543e2f5181aadcff448e406ef3218e91865ae775cd' - '9765bca5d63fb5525bbd0520b7ab1d27cabaed697e2fc7791400abc3fa4f13b8' - 'f61ea706ce6905f568b9bdafd1b044b58f20737426f0aa5019ddb9b64031a269' - '7760ebe71f4057cbd2f52b715abaf0d944c14c39e2bb2a5322114ad8451e12d9' - '32eae55bf9151df5f77ee98585e6cef4cc7ee2e5f2ca44c1a42f87d132eb22d8') + '8422030440032535d918844263fbd92d39bff207acb5fff55ed0afee38bcf582' + '02000d185e647aa20ca336e595b4004bb29cdae9d8f317f90078bdcc7a36e873') validpgpkeys=('2B90598A745E992F315E22C58AB132963A06537A') # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) @@ -51,27 +45,16 @@ _google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM _mozilla_api_key=16674381-f021-49de-8622-3021c5942aff prepare() { - mkdir path - ln -s /usr/bin/python2 path/python + mkdir -p path + ln -sf /usr/bin/python2 path/python - cd firefox-${pkgver}esr + cd firefox-${pkgver} - patch -Np1 -i ../firefox-install-dir.patch + # https://bugzilla.mozilla.org/show_bug.cgi?id=1435212 + patch -Np1 -i ../0001-Bug-1435212-Add-support-for-FFmpeg-4.0.-r-bryce.patch - # https://bugzilla.mozilla.org/show_bug.cgi?id=1314968 - patch -Np1 -i ../fix-wifi-scanner.diff - - # https://bugs.archlinux.org/task/54395 // https://bugzilla.mozilla.org/show_bug.cgi?id=1371991 - patch -Np1 -i ../0001-Bug-54395-remove-hardcoded-flag-lcrmf.patch - - # Build with the rust targets we actually ship - patch -Np1 -i ../rust-i686.patch - - # https://bugzilla.mozilla.org/show_bug.cgi?id=1384062 - patch -Np1 -i ../make_SystemResourceMonitor.stop_more_resilient_to_errors.patch - - # https://hg.mozilla.org/mozilla-central/rev/ae7e3082d862 - patch -Np1 -i ../use_noexcept_in_mozalloc.patch + # https://bugzilla.mozilla.org/show_bug.cgi?id=1371991 + patch -Np1 -i ../no-crmf.diff echo -n "$_google_api_key" >google-api-key echo -n "$_mozilla_api_key" >mozilla-api-key @@ -84,6 +67,7 @@ ac_add_options --enable-release ac_add_options --enable-gold ac_add_options --enable-pie ac_add_options --enable-optimize="-O2" +ac_add_options --enable-rust-simd # Branding ac_add_options --enable-official-branding @@ -99,51 +83,50 @@ ac_add_options --with-google-api-keyfile=${PWD@Q}/google-api-key ac_add_options --with-mozilla-api-keyfile=${PWD@Q}/mozilla-api-key # System libraries -ac_add_options --with-system-nspr -ac_add_options --with-system-nss -ac_add_options --with-system-icu ac_add_options --with-system-zlib ac_add_options --with-system-bz2 +ac_add_options --with-system-icu +ac_add_options --with-system-jpeg +ac_add_options --with-system-libvpx +ac_add_options --with-system-nspr +ac_add_options --with-system-nss ac_add_options --enable-system-hunspell ac_add_options --enable-system-sqlite ac_add_options --enable-system-ffi -ac_add_options --enable-system-pixman # Features +ac_add_options --enable-alsa +ac_add_options --enable-jack ac_add_options --enable-startup-notification ac_add_options --enable-crashreporter -ac_add_options --enable-alsa ac_add_options --disable-updater END } build() { - cd firefox-${pkgver}esr + cd firefox-${pkgver} # _FORTIFY_SOURCE causes configure failures CPPFLAGS+=" -O2" -# # Hardening -# LDFLAGS+=" -Wl,-z,now" - export PATH="$srcdir/path:$PATH" # Do PGO #xvfb-run -a -n 95 -s "-extension GLX -screen 0 1280x1024x24" \ # MOZ_PGO=1 ./mach build ./mach build - # ./mach buildsymbols + ./mach buildsymbols } package() { - cd firefox-${pkgver}esr + cd firefox-${pkgver} DESTDIR="$pkgdir" ./mach install - # find . -name '*crashreporter-symbols.zip' -exec cp -fvt "$startdir" {} + + find . -name '*crashreporter-symbols-full.zip' -exec cp -fvt "$startdir" {} + _vendorjs="$pkgdir/usr/lib/firefox/browser/defaults/preferences/vendor.js" install -Dm644 /dev/stdin "$_vendorjs" <<END // Use LANG environment variable to choose locale -pref("intl.locale.matchOS", true); +pref("intl.locale.requested", ""); // Disable default browser checking. pref("browser.shell.checkDefaultBrowser", false); @@ -169,20 +152,16 @@ app.distributor.channel=$pkgname app.partner.archlinux=archlinux END - for i in 16 22 24 32 48 256; do + for i in 16 22 24 32 48 64 128 256; do install -Dm644 browser/branding/official/default$i.png \ - "$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/firefox.png" + "$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/$pkgname.png" done - install -Dm644 browser/branding/official/content/icon64.png \ - "$pkgdir/usr/share/icons/hicolor/64x64/apps/firefox.png" - install -Dm644 browser/branding/official/mozicon128.png \ - "$pkgdir/usr/share/icons/hicolor/128x128/apps/firefox.png" install -Dm644 browser/branding/official/content/about-logo.png \ - "$pkgdir/usr/share/icons/hicolor/192x192/apps/firefox.png" + "$pkgdir/usr/share/icons/hicolor/192x192/apps/$pkgname.png" install -Dm644 browser/branding/official/content/about-logo@2x.png \ - "$pkgdir/usr/share/icons/hicolor/384x384/apps/firefox.png" + "$pkgdir/usr/share/icons/hicolor/384x384/apps/$pkgname.png" install -Dm644 ../firefox-symbolic.svg \ - "$pkgdir/usr/share/icons/hicolor/symbolic/apps/firefox-symbolic.svg" + "$pkgdir/usr/share/icons/hicolor/symbolic/apps/$pkgname-symbolic.svg" install -Dm644 ../firefox.desktop \ "$pkgdir/usr/share/applications/firefox.desktop" diff --git a/fix-wifi-scanner.diff b/fix-wifi-scanner.diff deleted file mode 100644 index f8fdd6c42142..000000000000 --- a/fix-wifi-scanner.diff +++ /dev/null @@ -1,16 +0,0 @@ - netwerk/wifi/nsWifiScannerDBus.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git c/netwerk/wifi/nsWifiScannerDBus.cpp i/netwerk/wifi/nsWifiScannerDBus.cpp -index 182553e18fa6e104..6fa0a0b023d3e45f 100644 ---- c/netwerk/wifi/nsWifiScannerDBus.cpp -+++ i/netwerk/wifi/nsWifiScannerDBus.cpp -@@ -62,7 +62,7 @@ nsWifiScannerDBus::SendMessage(const char* aInterface, - return NS_ERROR_FAILURE; - } - } else if (!strcmp(aFuncCall, "GetAll")) { -- const char* param = ""; -+ const char* param = "org.freedesktop.NetworkManager.AccessPoint"; - if (!dbus_message_iter_append_basic(&argsIter, DBUS_TYPE_STRING, ¶m)) { - return NS_ERROR_FAILURE; - } diff --git a/make_SystemResourceMonitor.stop_more_resilient_to_errors.patch b/make_SystemResourceMonitor.stop_more_resilient_to_errors.patch deleted file mode 100644 index ff75dcfd0c86..000000000000 --- a/make_SystemResourceMonitor.stop_more_resilient_to_errors.patch +++ /dev/null @@ -1,119 +0,0 @@ - -# HG changeset patch -# User Mike Hommey <mh+mozilla@glandium.org> -# Date 1502856976 -32400 -# Node ID 8d9ae8c45dd07496f164364f24c5f43edcf2eb6e -# Parent fa02d334033f0039ef82b3d7dc194312ba250279 -Bug 1384062 - Make SystemResourceMonitor.stop more resilient to errors. r=ahal,gps - -The poll() call in SystemResourceMonitor.stop might fail even though -there is something to read from the pipe, in some corner cases, and -python won't let us know about it. In that case, an exception is thrown, -leaving the SystemResourceMonitor (and its callers) in a weird state. In -practice, this leads BuildMonitor.__exit__ to recall stop, which then -fails. - -So when poll() throws an exception, we pretend there's still something -to read, and we try to read anyways. If there is something to read, -recv() will return it, otherwise, it will throw an exception of its own, -which we catch, pretending we're done. - -Furthermore, when there is nothing to read from the pipe, poll() simply -returns False, and our loop never sets `done` to True, and we then hit -an assert, which doesn't have its place here, so we remove it. - -Finally, the other end of the pipe might have died at any time, making -sending over the pipe fail, so we also protect against that. - -With all these changes, it feels like the reason to backout bug 1239939 -in bug 1272782 should have been dealt with, and we can drop the timeout -again. - -diff --git a/testing/mozbase/mozsystemmonitor/mozsystemmonitor/resourcemonitor.py b/testing/mozbase/mozsystemmonitor/mozsystemmonitor/resourcemonitor.py ---- a/testing/mozbase/mozsystemmonitor/mozsystemmonitor/resourcemonitor.py -+++ b/testing/mozbase/mozsystemmonitor/mozsystemmonitor/resourcemonitor.py -@@ -284,57 +284,71 @@ class SystemResourceMonitor(object): - """ - if not self._process: - self._stopped = True - return - - assert self._running - assert not self._stopped - -- self._pipe.send(('terminate',)) -+ try: -+ self._pipe.send(('terminate',)) -+ except Exception: -+ pass - self._running = False - self._stopped = True - - self.measurements = [] - -- done = False -- - # The child process will send each data sample over the pipe - # as a separate data structure. When it has finished sending - # samples, it sends a special "done" message to indicate it - # is finished. -- while self._pipe.poll(1.0): -- start_time, end_time, io_diff, cpu_diff, cpu_percent, virt_mem, \ -- swap_mem = self._pipe.recv() -+ -+ # multiprocessing.Pipe is not actually a pipe on at least Linux. that -+ # has an effect on the expected outcome of reading from it when the -+ # other end of the pipe dies, leading to possibly hanging on revc() -+ # below. So we must poll(). -+ def poll(): -+ try: -+ return self._pipe.poll(0.1) -+ except Exception: -+ # Poll might throw an exception even though there's still -+ # data to read. That happens when the underlying system call -+ # returns both POLLERR and POLLIN, but python doesn't tell us -+ # about it. So assume there is something to read, and we'll -+ # get an exception when trying to read the data. -+ return True -+ while poll(): -+ try: -+ start_time, end_time, io_diff, cpu_diff, cpu_percent, virt_mem, \ -+ swap_mem = self._pipe.recv() -+ except Exception: -+ # Let's assume we're done here -+ break - - # There should be nothing after the "done" message so - # terminate. - if start_time == 'done': -- done = True - break - - io = self._io_type(*io_diff) - virt = self._virt_type(*virt_mem) - swap = self._swap_type(*swap_mem) - cpu_times = [self._cpu_times_type(*v) for v in cpu_diff] - - self.measurements.append(SystemResourceUsage(start_time, end_time, - cpu_times, cpu_percent, io, virt, swap)) - - # We establish a timeout so we don't hang forever if the child - # process has crashed. - self._process.join(10) - if self._process.is_alive(): - self._process.terminate() - self._process.join(10) -- else: -- # We should have received a "done" message from the -- # child indicating it shut down properly. This only -- # happens if the child shuts down cleanly. -- assert done - - if len(self.measurements): - self.start_time = self.measurements[0].start - self.end_time = self.measurements[-1].end - - # Methods to record events alongside the monitored data. - - def record_event(self, name): - diff --git a/no-crmf.diff b/no-crmf.diff new file mode 100644 index 000000000000..682ba3fc0fd2 --- /dev/null +++ b/no-crmf.diff @@ -0,0 +1,15 @@ +diff --git i/old-configure.in w/old-configure.in +index 12170a47568f..dbbaa0bc9194 100644 +--- i/old-configure.in ++++ w/old-configure.in +@@ -1808,9 +1808,7 @@ if test -n "$_USE_SYSTEM_NSS"; then + AM_PATH_NSS(3.35, [MOZ_SYSTEM_NSS=1], [AC_MSG_ERROR([you don't have NSS installed or your version is too old])]) + fi + +-if test -n "$MOZ_SYSTEM_NSS"; then +- NSS_LIBS="$NSS_LIBS -lcrmf" +-else ++if test -z "$MOZ_SYSTEM_NSS"; then + NSS_CFLAGS="-I${DIST}/include/nss" + case "${OS_ARCH}" in + # Only few platforms have been tested with GYP diff --git a/nvidia-GLSL-version.patch b/nvidia-GLSL-version.patch deleted file mode 100644 index dbea559aa5ab..000000000000 --- a/nvidia-GLSL-version.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/dom/canvas/WebGLShaderValidator.cpp 2017-04-11 04:13:14.000000000 +0200 -+++ b/dom/canvas/WebGLShaderValidator.cpp 2017-10-18 21:37:05.383873927 +0200 -@@ -114,7 +114,7 @@ - case 440: return SH_GLSL_440_CORE_OUTPUT; - case 450: return SH_GLSL_450_CORE_OUTPUT; - default: -- MOZ_CRASH("GFX: Unexpected GLSL version."); -+ MOZ_ASSERT(false, "GFX: Unexpected GLSL version."); - } - } - diff --git a/rust-i686.patch b/rust-i686.patch deleted file mode 100644 index 85512e1436b8..000000000000 --- a/rust-i686.patch +++ /dev/null @@ -1,16 +0,0 @@ - build/moz.configure/rust.configure | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git c/build/moz.configure/rust.configure i/build/moz.configure/rust.configure -index cd86b24153debb1b..44911715e25d95e3 100644 ---- c/build/moz.configure/rust.configure -+++ i/build/moz.configure/rust.configure -@@ -81,7 +81,7 @@ def rust_target(rust_compiler, rustc, target, cross_compiling): - # OpenBSD - ('x86_64', 'OpenBSD'): 'x86_64-unknown-openbsd', - # Linux -- ('x86', 'Linux'): 'i586-unknown-linux-gnu', -+ ('x86', 'Linux'): 'i686-unknown-linux-gnu', - # Linux - ('x86_64', 'Linux'): 'x86_64-unknown-linux-gnu', - # OS X and iOS diff --git a/use_noexcept_in_mozalloc.patch b/use_noexcept_in_mozalloc.patch deleted file mode 100644 index e374621b54f1..000000000000 --- a/use_noexcept_in_mozalloc.patch +++ /dev/null @@ -1,31 +0,0 @@ - -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 - - - - |