refactor: consolidate PASTE macros

This commit is contained in:
James O'Beirne 2019-09-25 10:55:52 -04:00
parent 6e431296da
commit 0d86f4d3da
3 changed files with 13 additions and 3 deletions

View file

@ -209,6 +209,7 @@ BITCOIN_CORE_H = \
util/error.h \
util/fees.h \
util/system.h \
util/macros.h \
util/memory.h \
util/moneystr.h \
util/rbf.h \

View file

@ -7,6 +7,7 @@
#define BITCOIN_SYNC_H
#include <threadsafety.h>
#include <util/macros.h>
#include <condition_variable>
#include <thread>
@ -176,9 +177,6 @@ public:
template<typename MutexArg>
using DebugLock = UniqueLock<typename std::remove_reference<typename std::remove_pointer<MutexArg>::type>::type>;
#define PASTE(x, y) x ## y
#define PASTE2(x, y) PASTE(x, y)
#define LOCK(cs) DebugLock<decltype(cs)> PASTE2(criticalblock, __COUNTER__)(cs, #cs, __FILE__, __LINE__)
#define LOCK2(cs1, cs2) \
DebugLock<decltype(cs1)> criticalblock1(cs1, #cs1, __FILE__, __LINE__); \

11
src/util/macros.h Normal file
View file

@ -0,0 +1,11 @@
// Copyright (c) 2019 The Bitcoin Core developers
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#ifndef BITCOIN_UTIL_MACROS_H
#define BITCOIN_UTIL_MACROS_H
#define PASTE(x, y) x ## y
#define PASTE2(x, y) PASTE(x, y)
#endif // BITCOIN_UTIL_MACROS_H