aboutsummaryrefslogtreecommitdiffstats
path: root/alc
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2022-12-16 09:48:54 -0800
committerChris Robinson <[email protected]>2022-12-16 10:03:39 -0800
commit84cfef8513b88068e8ef66223d09b6c48d35caad (patch)
tree1dd3c6dfd8389e22f67fe7c5e03a145d46e5e8a8 /alc
parent8b806c07d716db41e0a463d455cf1a913b933a0f (diff)
Avoid inlining certain exception functions
Diffstat (limited to 'alc')
-rw-r--r--alc/backends/base.cpp14
-rw-r--r--alc/backends/base.h10
2 files changed, 17 insertions, 7 deletions
diff --git a/alc/backends/base.cpp b/alc/backends/base.cpp
index 6838c7e3..9cf5e30f 100644
--- a/alc/backends/base.cpp
+++ b/alc/backends/base.cpp
@@ -21,6 +21,20 @@
#include "core/devformat.h"
+namespace al {
+
+backend_exception::backend_exception(backend_error code, const char *msg, ...) : mErrorCode{code}
+{
+ std::va_list args;
+ va_start(args, msg);
+ setMessage(msg, args);
+ va_end(args);
+}
+backend_exception::~backend_exception() = default;
+
+} // namespace al
+
+
bool BackendBase::reset()
{ throw al::backend_exception{al::backend_error::DeviceError, "Invalid BackendBase call"}; }
diff --git a/alc/backends/base.h b/alc/backends/base.h
index 65bc636b..b6b3d922 100644
--- a/alc/backends/base.h
+++ b/alc/backends/base.h
@@ -103,13 +103,9 @@ public:
#else
[[gnu::format(printf, 3, 4)]]
#endif
- backend_exception(backend_error code, const char *msg, ...) : mErrorCode{code}
- {
- std::va_list args;
- va_start(args, msg);
- setMessage(msg, args);
- va_end(args);
- }
+ backend_exception(backend_error code, const char *msg, ...);
+ ~backend_exception() override;
+
backend_error errorCode() const noexcept { return mErrorCode; }
};