aboutsummaryrefslogtreecommitdiffstats
path: root/al
diff options
context:
space:
mode:
Diffstat (limited to 'al')
-rw-r--r--al/direct_defs.h28
-rw-r--r--al/error.cpp54
-rw-r--r--al/state.cpp6
3 files changed, 43 insertions, 45 deletions
diff --git a/al/direct_defs.h b/al/direct_defs.h
index 7526b611..a1999668 100644
--- a/al/direct_defs.h
+++ b/al/direct_defs.h
@@ -12,7 +12,7 @@ constexpr void DefaultVal() noexcept { }
} // namespace detail_
#define DECL_FUNC(R, Name) \
-R AL_APIENTRY Name(void) noexcept \
+auto AL_APIENTRY Name() noexcept -> R \
{ \
auto context = GetContextRef(); \
if(!context) UNLIKELY return detail_::DefaultVal<R>(); \
@@ -20,7 +20,7 @@ R AL_APIENTRY Name(void) noexcept \
}
#define DECL_FUNC1(R, Name, T1) \
-R AL_APIENTRY Name(T1 a) noexcept \
+auto AL_APIENTRY Name(T1 a) noexcept -> R \
{ \
auto context = GetContextRef(); \
if(!context) UNLIKELY return detail_::DefaultVal<R>(); \
@@ -28,7 +28,7 @@ R AL_APIENTRY Name(T1 a) noexcept \
}
#define DECL_FUNC2(R, Name, T1, T2) \
-R AL_APIENTRY Name(T1 a, T2 b) noexcept \
+auto AL_APIENTRY Name(T1 a, T2 b) noexcept -> R \
{ \
auto context = GetContextRef(); \
if(!context) UNLIKELY return detail_::DefaultVal<R>(); \
@@ -36,7 +36,7 @@ R AL_APIENTRY Name(T1 a, T2 b) noexcept \
}
#define DECL_FUNC3(R, Name, T1, T2, T3) \
-R AL_APIENTRY Name(T1 a, T2 b, T3 c) noexcept \
+auto AL_APIENTRY Name(T1 a, T2 b, T3 c) noexcept -> R \
{ \
auto context = GetContextRef(); \
if(!context) UNLIKELY return detail_::DefaultVal<R>(); \
@@ -44,7 +44,7 @@ R AL_APIENTRY Name(T1 a, T2 b, T3 c) noexcept \
}
#define DECL_FUNC4(R, Name, T1, T2, T3, T4) \
-R AL_APIENTRY Name(T1 a, T2 b, T3 c, T4 d) noexcept \
+auto AL_APIENTRY Name(T1 a, T2 b, T3 c, T4 d) noexcept -> R \
{ \
auto context = GetContextRef(); \
if(!context) UNLIKELY return detail_::DefaultVal<R>(); \
@@ -52,7 +52,7 @@ R AL_APIENTRY Name(T1 a, T2 b, T3 c, T4 d) noexcept \
}
#define DECL_FUNC5(R, Name, T1, T2, T3, T4, T5) \
-R AL_APIENTRY Name(T1 a, T2 b, T3 c, T4 d, T5 e) noexcept \
+auto AL_APIENTRY Name(T1 a, T2 b, T3 c, T4 d, T5 e) noexcept -> R \
{ \
auto context = GetContextRef(); \
if(!context) UNLIKELY return detail_::DefaultVal<R>(); \
@@ -61,7 +61,7 @@ R AL_APIENTRY Name(T1 a, T2 b, T3 c, T4 d, T5 e) noexcept \
#define DECL_FUNCEXT(R, Name,Ext) \
-R AL_APIENTRY Name##Ext(void) noexcept \
+auto AL_APIENTRY Name##Ext() noexcept -> R \
{ \
auto context = GetContextRef(); \
if(!context) UNLIKELY return detail_::DefaultVal<R>(); \
@@ -69,7 +69,7 @@ R AL_APIENTRY Name##Ext(void) noexcept \
}
#define DECL_FUNCEXT1(R, Name,Ext, T1) \
-R AL_APIENTRY Name##Ext(T1 a) noexcept \
+auto AL_APIENTRY Name##Ext(T1 a) noexcept -> R \
{ \
auto context = GetContextRef(); \
if(!context) UNLIKELY return detail_::DefaultVal<R>(); \
@@ -77,7 +77,7 @@ R AL_APIENTRY Name##Ext(T1 a) noexcept \
}
#define DECL_FUNCEXT2(R, Name,Ext, T1, T2) \
-R AL_APIENTRY Name##Ext(T1 a, T2 b) noexcept \
+auto AL_APIENTRY Name##Ext(T1 a, T2 b) noexcept -> R \
{ \
auto context = GetContextRef(); \
if(!context) UNLIKELY return detail_::DefaultVal<R>(); \
@@ -85,7 +85,7 @@ R AL_APIENTRY Name##Ext(T1 a, T2 b) noexcept \
}
#define DECL_FUNCEXT3(R, Name,Ext, T1, T2, T3) \
-R AL_APIENTRY Name##Ext(T1 a, T2 b, T3 c) noexcept \
+auto AL_APIENTRY Name##Ext(T1 a, T2 b, T3 c) noexcept -> R \
{ \
auto context = GetContextRef(); \
if(!context) UNLIKELY return detail_::DefaultVal<R>(); \
@@ -93,7 +93,7 @@ R AL_APIENTRY Name##Ext(T1 a, T2 b, T3 c) noexcept \
}
#define DECL_FUNCEXT4(R, Name,Ext, T1, T2, T3, T4) \
-R AL_APIENTRY Name##Ext(T1 a, T2 b, T3 c, T4 d) noexcept \
+auto AL_APIENTRY Name##Ext(T1 a, T2 b, T3 c, T4 d) noexcept -> R \
{ \
auto context = GetContextRef(); \
if(!context) UNLIKELY return detail_::DefaultVal<R>(); \
@@ -101,7 +101,7 @@ R AL_APIENTRY Name##Ext(T1 a, T2 b, T3 c, T4 d) noexcept \
}
#define DECL_FUNCEXT5(R, Name,Ext, T1, T2, T3, T4, T5) \
-R AL_APIENTRY Name##Ext(T1 a, T2 b, T3 c, T4 d, T5 e) noexcept \
+auto AL_APIENTRY Name##Ext(T1 a, T2 b, T3 c, T4 d, T5 e) noexcept -> R \
{ \
auto context = GetContextRef(); \
if(!context) UNLIKELY return detail_::DefaultVal<R>(); \
@@ -109,7 +109,7 @@ R AL_APIENTRY Name##Ext(T1 a, T2 b, T3 c, T4 d, T5 e) noexcept \
}
#define DECL_FUNCEXT6(R, Name,Ext, T1, T2, T3, T4, T5, T6) \
-R AL_APIENTRY Name##Ext(T1 a, T2 b, T3 c, T4 d, T5 e, T6 f) noexcept \
+auto AL_APIENTRY Name##Ext(T1 a, T2 b, T3 c, T4 d, T5 e, T6 f) noexcept -> R \
{ \
auto context = GetContextRef(); \
if(!context) UNLIKELY return detail_::DefaultVal<R>(); \
@@ -117,7 +117,7 @@ R AL_APIENTRY Name##Ext(T1 a, T2 b, T3 c, T4 d, T5 e, T6 f) noexcept \
}
#define DECL_FUNCEXT8(R, Name,Ext, T1, T2, T3, T4, T5, T6, T7, T8) \
-R AL_APIENTRY Name##Ext(T1 a, T2 b, T3 c, T4 d, T5 e, T6 f, T7 g, T8 h) noexcept \
+auto AL_APIENTRY Name##Ext(T1 a, T2 b, T3 c, T4 d, T5 e, T6 f, T7 g, T8 h) noexcept -> R \
{ \
auto context = GetContextRef(); \
if(!context) UNLIKELY return detail_::DefaultVal<R>(); \
diff --git a/al/error.cpp b/al/error.cpp
index c2359477..b8692118 100644
--- a/al/error.cpp
+++ b/al/error.cpp
@@ -99,41 +99,39 @@ void ALCcontext::setError(ALenum errorCode, const char *msg, ...)
/* Special-case alGetError since it (potentially) raises a debug signal and
* returns a non-default value for a null context.
*/
-AL_API ALenum AL_APIENTRY alGetError(void) noexcept
+AL_API auto AL_APIENTRY alGetError() noexcept -> ALenum
{
- auto context = GetContextRef();
- if(!context) UNLIKELY
+ if(auto context = GetContextRef()) LIKELY
+ return alGetErrorDirect(context.get());
+
+ static const ALenum deferror{[](const char *envname, const char *optname) -> ALenum
{
- static const ALenum deferror{[](const char *envname, const char *optname) -> ALenum
- {
- auto optstr = al::getenv(envname);
- if(!optstr)
- optstr = ConfigValueStr(nullptr, "game_compat", optname);
-
- if(optstr)
- {
- char *end{};
- auto value = std::strtoul(optstr->c_str(), &end, 0);
- if(end && *end == '\0' && value <= std::numeric_limits<ALenum>::max())
- return static_cast<ALenum>(value);
- ERR("Invalid default error value: \"%s\"", optstr->c_str());
- }
- return AL_INVALID_OPERATION;
- }("__ALSOFT_DEFAULT_ERROR", "default-error")};
-
- WARN("Querying error state on null context (implicitly 0x%04x)\n", deferror);
- if(TrapALError)
+ auto optstr = al::getenv(envname);
+ if(!optstr)
+ optstr = ConfigValueStr(nullptr, "game_compat", optname);
+
+ if(optstr)
{
+ char *end{};
+ auto value = std::strtoul(optstr->c_str(), &end, 0);
+ if(end && *end == '\0' && value <= std::numeric_limits<ALenum>::max())
+ return static_cast<ALenum>(value);
+ ERR("Invalid default error value: \"%s\"", optstr->c_str());
+ }
+ return AL_INVALID_OPERATION;
+ }("__ALSOFT_DEFAULT_ERROR", "default-error")};
+
+ WARN("Querying error state on null context (implicitly 0x%04x)\n", deferror);
+ if(TrapALError)
+ {
#ifdef _WIN32
- if(IsDebuggerPresent())
- DebugBreak();
+ if(IsDebuggerPresent())
+ DebugBreak();
#elif defined(SIGTRAP)
- raise(SIGTRAP);
+ raise(SIGTRAP);
#endif
- }
- return deferror;
}
- return alGetErrorDirect(context.get());
+ return deferror;
}
FORCE_ALIGN ALenum AL_APIENTRY alGetErrorDirect(ALCcontext *context) noexcept
diff --git a/al/state.cpp b/al/state.cpp
index fd5dc5e3..d9c199d5 100644
--- a/al/state.cpp
+++ b/al/state.cpp
@@ -301,7 +301,7 @@ inline void UpdateProps(ALCcontext *context)
/* WARNING: Non-standard export! Not part of any extension, or exposed in the
* alcFunctions list.
*/
-AL_API const ALchar* AL_APIENTRY alsoft_get_version(void) noexcept
+AL_API auto AL_APIENTRY alsoft_get_version() noexcept -> const ALchar*
{
static const auto spoof = al::getenv("ALSOFT_SPOOF_VERSION");
if(spoof) return spoof->c_str();
@@ -388,7 +388,7 @@ FORCE_ALIGN ALboolean AL_APIENTRY alIsEnabledDirect(ALCcontext *context, ALenum
}
#define DECL_GETFUNC(R, Name, Ext) \
-AL_API R AL_APIENTRY Name##Ext(ALenum pname) noexcept \
+AL_API auto AL_APIENTRY Name##Ext(ALenum pname) noexcept -> R \
{ \
R value{}; \
auto context = GetContextRef(); \
@@ -396,7 +396,7 @@ AL_API R AL_APIENTRY Name##Ext(ALenum pname) noexcept \
Name##vDirect##Ext(GetContextRef().get(), pname, &value); \
return value; \
} \
-FORCE_ALIGN R AL_APIENTRY Name##Direct##Ext(ALCcontext *context, ALenum pname) noexcept \
+FORCE_ALIGN auto AL_APIENTRY Name##Direct##Ext(ALCcontext *context, ALenum pname) noexcept -> R \
{ \
R value{}; \
Name##vDirect##Ext(context, pname, &value); \