File: 0002.patch

package info (click to toggle)
firefox 147.0.3-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,683,320 kB
  • sloc: cpp: 7,607,359; javascript: 6,533,295; ansic: 3,775,223; python: 1,415,500; xml: 634,561; asm: 438,949; java: 186,241; sh: 62,752; makefile: 18,079; objc: 13,092; perl: 12,808; yacc: 4,583; cs: 3,846; pascal: 3,448; lex: 1,720; ruby: 1,003; php: 436; lisp: 258; awk: 247; sql: 66; sed: 54; csh: 10; exp: 6
file content (32 lines) | stat: -rw-r--r-- 1,513 bytes parent folder | download | duplicates (12)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
From: Michael Froman <mfroman@mozilla.com>
Date: Thu, 20 Oct 2022 16:14:00 +0000
Subject: Bug 1795982 - pt3 - re-enable building absl/base:throw_delegate for
 missing ThrowStdOutOfRange. r=ng

More code in the new libwebrtc/third_party update uses throw_delegate, which
until now we've been able to carefully avoid.  However, in most cases, it
appears that ABSL_HAVE_EXCEPTIONS is turned off.  This is good because throwing
exceptions isn't enabled, but upstream aborts instead.  A static_assert was
added in throw_delegate.cc to verify that no exceptions can be thrown.

Differential Revision: https://phabricator.services.mozilla.com/D159740
Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/3e09f1c91f790a6dbd0fb0faaa18fd2dd4535c50
---
 abseil-cpp/absl/base/internal/throw_delegate.cc | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/abseil-cpp/absl/base/internal/throw_delegate.cc b/abseil-cpp/absl/base/internal/throw_delegate.cc
index 337e870cd68..11467e08b41 100644
--- a/abseil-cpp/absl/base/internal/throw_delegate.cc
+++ b/abseil-cpp/absl/base/internal/throw_delegate.cc
@@ -26,6 +26,10 @@ namespace absl {
 ABSL_NAMESPACE_BEGIN
 namespace base_internal {
 
+#ifdef ABSL_HAVE_EXCEPTIONS
+static_assert(false, "Mozilla - ABSL_HAVE_EXCEPTIONS has been turned on");
+#endif
+
 // NOTE: The exception types, like `std::logic_error`, do not exist on all
 // platforms. (For example, the Android NDK does not have them.)
 // Therefore, their use must be guarded by `#ifdef` or equivalent.