summaryrefslogtreecommitdiffstats
path: root/memory/mozalloc/msvc_raise_wrappers.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'memory/mozalloc/msvc_raise_wrappers.cpp')
-rw-r--r--memory/mozalloc/msvc_raise_wrappers.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/memory/mozalloc/msvc_raise_wrappers.cpp b/memory/mozalloc/msvc_raise_wrappers.cpp
new file mode 100644
index 0000000000..6eb8bdbe31
--- /dev/null
+++ b/memory/mozalloc/msvc_raise_wrappers.cpp
@@ -0,0 +1,17 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+ * vim: sw=2 ts=4 et :
+ */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include <exception>
+#include "mozalloc_abort.h"
+
+static void __cdecl RaiseHandler(const std::exception& e) {
+ mozalloc_abort(e.what());
+}
+
+static struct StaticScopeStruct final {
+ StaticScopeStruct() { std::exception::_Set_raise_handler(RaiseHandler); }
+} StaticScopeInvoke;