0002.patch (1513B)
1 From: Michael Froman <mfroman@mozilla.com> 2 Date: Thu, 20 Oct 2022 16:14:00 +0000 3 Subject: Bug 1795982 - pt3 - re-enable building absl/base:throw_delegate for 4 missing ThrowStdOutOfRange. r=ng 5 6 More code in the new libwebrtc/third_party update uses throw_delegate, which 7 until now we've been able to carefully avoid. However, in most cases, it 8 appears that ABSL_HAVE_EXCEPTIONS is turned off. This is good because throwing 9 exceptions isn't enabled, but upstream aborts instead. A static_assert was 10 added in throw_delegate.cc to verify that no exceptions can be thrown. 11 12 Differential Revision: https://phabricator.services.mozilla.com/D159740 13 Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/3e09f1c91f790a6dbd0fb0faaa18fd2dd4535c50 14 --- 15 abseil-cpp/absl/base/internal/throw_delegate.cc | 4 ++++ 16 1 file changed, 4 insertions(+) 17 18 diff --git a/abseil-cpp/absl/base/internal/throw_delegate.cc b/abseil-cpp/absl/base/internal/throw_delegate.cc 19 index 337e870cd68..11467e08b41 100644 20 --- a/abseil-cpp/absl/base/internal/throw_delegate.cc 21 +++ b/abseil-cpp/absl/base/internal/throw_delegate.cc 22 @@ -26,6 +26,10 @@ namespace absl { 23 ABSL_NAMESPACE_BEGIN 24 namespace base_internal { 25 26 +#ifdef ABSL_HAVE_EXCEPTIONS 27 +static_assert(false, "Mozilla - ABSL_HAVE_EXCEPTIONS has been turned on"); 28 +#endif 29 + 30 // NOTE: The exception types, like `std::logic_error`, do not exist on all 31 // platforms. (For example, the Android NDK does not have them.) 32 // Therefore, their use must be guarded by `#ifdef` or equivalent.