memory/mozalloc/msvc_throw_wrapper.cpp

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:a7e16c441253
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2 * vim: sw=4 ts=4 et :
3 */
4 /* This Source Code Form is subject to the terms of the Mozilla Public
5 * License, v. 2.0. If a copy of the MPL was not distributed with this
6 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7
8 #include <exception>
9
10 #if defined(XP_WIN)
11 # define MOZALLOC_EXPORT __declspec(dllexport)
12 #endif
13
14 #include "mozilla/mozalloc_abort.h"
15
16 namespace std {
17
18 // NB: user code is not supposed to touch the std:: namespace. We're
19 // doing this after careful review because we want to define our own
20 // exception throwing semantics. Don't try this at home!
21
22 __declspec(dllexport) void mozilla_Throw(const exception& e);
23
24 void
25 mozilla_Throw(const exception& e)
26 {
27 mozalloc_abort(e.what());
28 }
29
30 } // namespace std

mercurial