From 51a3b3ac769162a8c6abff716ba021b5a7c4b7a7 Mon Sep 17 00:00:00 2001 From: Tindy X <49061470+tindy2013@users.noreply.github.com> Date: Sun, 21 Jun 2020 09:31:31 +0800 Subject: [PATCH] Fix build error on some platforms --- src/misc.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/misc.h b/src/misc.h index fe7cf7d..f4fa346 100644 --- a/src/misc.h +++ b/src/misc.h @@ -19,11 +19,11 @@ #define PATH_SLASH "//" #endif // _WIN32 -#define concat(a,b) a ## b -#define do_concat(a,b) concat(a,b) +#define CONCAT(a,b) a ## b +#define DO_CONCAT(a,b) CONCAT(a,b) template class __defer_struct final {private: T fn; bool __cancelled = false; public: __defer_struct(T func) : fn(std::move(func)) {} ~__defer_struct() {if(!__cancelled) fn();} void cancel() {__cancelled = true;} }; -//#define defer(x) std::unique_ptr do_concat(__defer_deleter_,__LINE__) (nullptr, [&](...){x}); -#define defer(x) __defer_struct do_concat(__defer_deleter,__COUNTER__) ([&](...){x;}); +//#define defer(x) std::unique_ptr DO_CONCAT(__defer_deleter_,__LINE__) (nullptr, [&](...){x}); +#define defer(x) __defer_struct DO_CONCAT(__defer_deleter,__COUNTER__) ([&](...){x;}); typedef std::string::size_type string_size; typedef std::vector string_array;