aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--zencore/except.cpp2
-rw-r--r--zencore/include/zencore/except.h4
2 files changed, 6 insertions, 0 deletions
diff --git a/zencore/except.cpp b/zencore/except.cpp
index d57b539cd..834585522 100644
--- a/zencore/except.cpp
+++ b/zencore/except.cpp
@@ -40,6 +40,7 @@ GetWindowsErrorAsString(uint32_t Win32ErrorCode)
return std::error_code(Win32ErrorCode, std::system_category()).message();
}
+#if __cpp_lib_source_location
void
ThrowLastError(std::string_view Message, const std::source_location& Location)
{
@@ -47,5 +48,6 @@ ThrowLastError(std::string_view Message, const std::source_location& Location)
throw std::system_error(std::error_code(zen::GetLastError(), std::system_category()),
"{}({}): {}"_format(Location.file_name(), Location.line(), Message));
}
+#endif
} // namespace zen
diff --git a/zencore/include/zencore/except.h b/zencore/include/zencore/except.h
index 486f3e380..36cca895f 100644
--- a/zencore/include/zencore/except.h
+++ b/zencore/include/zencore/except.h
@@ -54,7 +54,11 @@ ZENCORE_API void ThrowSystemException(HRESULT hRes, std::string_view Message);
#endif // ZEN_PLATFORM_WINDOWS
ZENCORE_API void ThrowLastError(std::string_view Message);
+
+#if __cpp_lib_source_location
ZENCORE_API void ThrowLastError(std::string_view Message, const std::source_location& Location);
+#endif
+
ZENCORE_API std::string GetLastErrorAsString();
ZENCORE_API std::string GetWindowsErrorAsString(uint32_t Win32ErrorCode);