summaryrefslogtreecommitdiff
path: root/indra/llcommon/llexception.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llcommon/llexception.h')
-rw-r--r--indra/llcommon/llexception.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/indra/llcommon/llexception.h b/indra/llcommon/llexception.h
index f58a553eb3..0c32a55409 100644
--- a/indra/llcommon/llexception.h
+++ b/indra/llcommon/llexception.h
@@ -13,10 +13,15 @@
#define LL_LLEXCEPTION_H
#include "always_return.h"
+#include "stdtypes.h"
#include <stdexcept>
+#include <utility> // std::forward
#include <boost/exception/exception.hpp>
#include <boost/throw_exception.hpp>
#include <boost/current_function.hpp>
+#if LL_WINDOWS
+#include <excpt.h>
+#endif // LL_WINDOWS
// "Found someone who can comfort me
// But there are always exceptions..."
@@ -180,6 +185,8 @@ auto catcher(TRYCODE&& trycode, HANDLER&& handler)
std::forward<HANDLER>(handler));
}
+[[noreturn]] void rethrow(U32 code, const std::string& stacktrace);
+
// monadic variant specifies try(), assumes default filter and handler
template <typename TRYCODE>
auto catcher(TRYCODE&& trycode)
@@ -187,8 +194,6 @@ auto catcher(TRYCODE&& trycode)
return catcher(std::forward<TRYCODE>(trycode), rethrow);
}
-[[noreturn]] void rethrow(U32 code, const std::string& stacktrace);
-
#else // not LL_WINDOWS -----------------------------------------------------
template <typename TRYCODE, typename FILTER, typename HANDLER>