diff options
| author | 2015-01-11 13:32:31 -0200 | |
|---|---|---|
| committer | 2015-01-30 11:47:03 -0200 | |
| commit | fc11aff9559da4725037c21f7a4732f5f009d975 (patch) | |
| tree | f1034c4fd029f4e4867fe2b5b15352f87dbbd9b7 /src | |
| parent | Additions to ResultVal to make it more convenient to use. (diff) | |
| download | yuzu-fc11aff9559da4725037c21f7a4732f5f009d975.tar.gz yuzu-fc11aff9559da4725037c21f7a4732f5f009d975.tar.xz yuzu-fc11aff9559da4725037c21f7a4732f5f009d975.zip | |
Common: Fix SCOPE_EXIT to actually create unique identifiers.
Diffstat (limited to 'src')
| -rw-r--r-- | src/common/common_funcs.h | 4 | ||||
| -rw-r--r-- | src/common/scope_exit.h | 4 |
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> {}; | |||
| 31 | 31 | ||
| 32 | #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0])) | 32 | #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0])) |
| 33 | 33 | ||
| 34 | /// Textually concatenates two tokens. The double-expansion is required by the C preprocessor. | ||
| 35 | #define CONCAT2(x, y) DO_CONCAT2(x, y) | ||
| 36 | #define DO_CONCAT2(x, y) x ## y | ||
| 37 | |||
| 34 | #ifndef _MSC_VER | 38 | #ifndef _MSC_VER |
| 35 | 39 | ||
| 36 | #include <errno.h> | 40 | #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 @@ | |||
| 4 | 4 | ||
| 5 | #pragma once | 5 | #pragma once |
| 6 | 6 | ||
| 7 | #include "common/common_funcs.h" | ||
| 8 | |||
| 7 | namespace detail { | 9 | namespace detail { |
| 8 | template <typename Func> | 10 | template <typename Func> |
| 9 | struct ScopeExitHelper { | 11 | struct ScopeExitHelper { |
| @@ -34,4 +36,4 @@ namespace detail { | |||
| 34 | * } | 36 | * } |
| 35 | * \endcode | 37 | * \endcode |
| 36 | */ | 38 | */ |
| 37 | #define SCOPE_EXIT(body) auto scope_exit_helper_##__LINE__ = detail::ScopeExit([&]() body) | 39 | #define SCOPE_EXIT(body) auto CONCAT2(scope_exit_helper_, __LINE__) = detail::ScopeExit([&]() body) |