mirror of
https://github.com/XRPLF/rippled.git
synced 2026-06-04 17:27:00 +00:00
MSVC's legacy preprocessor treats __VA_ARGS__ as a single token when it is passed as an argument to another function-like macro, causing ALWAYS_OR_UNREACHABLE to receive one argument instead of two and triggering C4003. Wrap the inner XRPL_ASSERT call in an identity macro (XRPL_ASSERT_IF_EXPAND) that forces a rescan, splitting the tokens back into separate arguments before ALWAYS_OR_UNREACHABLE sees them.