summaryrefslogtreecommitdiffstats
path: root/src/common
diff options
context:
space:
mode:
authorTony Wasserka <neobrainx@gmail.com>2015-01-30 15:00:17 +0100
committerTony Wasserka <neobrainx@gmail.com>2015-01-30 15:00:17 +0100
commit28702cbfeb1fe21109f8b1efa189785594319b78 (patch)
tree64e4b1ec43b7699fe1a6ab1be1c688b6d63c0d75 /src/common
parentMerge pull request #412 from purpasmart96/svc_table_cleanup (diff)
parentKernel: Mark all appropriate kernel objects as "final" (diff)
downloadyuzu-28702cbfeb1fe21109f8b1efa189785594319b78.tar
yuzu-28702cbfeb1fe21109f8b1efa189785594319b78.tar.gz
yuzu-28702cbfeb1fe21109f8b1efa189785594319b78.tar.bz2
yuzu-28702cbfeb1fe21109f8b1efa189785594319b78.tar.lz
yuzu-28702cbfeb1fe21109f8b1efa189785594319b78.tar.xz
yuzu-28702cbfeb1fe21109f8b1efa189785594319b78.tar.zst
yuzu-28702cbfeb1fe21109f8b1efa189785594319b78.zip
Diffstat (limited to 'src/common')
-rw-r--r--src/common/common_funcs.h4
-rw-r--r--src/common/scope_exit.h4
2 files changed, 7 insertions, 1 deletions
diff --git a/src/common/common_funcs.h b/src/common/common_funcs.h
index c2750a63c..229eb74c9 100644
--- a/src/common/common_funcs.h
+++ b/src/common/common_funcs.h
@@ -31,6 +31,10 @@ template<> struct CompileTimeAssert<true> {};
#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
+/// Textually concatenates two tokens. The double-expansion is required by the C preprocessor.
+#define CONCAT2(x, y) DO_CONCAT2(x, y)
+#define DO_CONCAT2(x, y) x ## y
+
#ifndef _MSC_VER
#include <errno.h>
diff --git a/src/common/scope_exit.h b/src/common/scope_exit.h
index 263beaf0e..77dcbaa22 100644
--- a/src/common/scope_exit.h
+++ b/src/common/scope_exit.h
@@ -4,6 +4,8 @@
#pragma once
+#include "common/common_funcs.h"
+
namespace detail {
template <typename Func>
struct ScopeExitHelper {
@@ -34,4 +36,4 @@ namespace detail {
* }
* \endcode
*/
-#define SCOPE_EXIT(body) auto scope_exit_helper_##__LINE__ = detail::ScopeExit([&]() body)
+#define SCOPE_EXIT(body) auto CONCAT2(scope_exit_helper_, __LINE__) = detail::ScopeExit([&]() body)