diff options
Diffstat (limited to 'indra/llcommon/llexception.h')
-rw-r--r-- | indra/llcommon/llexception.h | 9 |
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> |