Skip to content

Commit a69facd

Browse files
committed
Workaround for Visual Studio not expaning __VA_ARGS__ on macro invocation
1 parent c88b080 commit a69facd

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

src/util/invariant.h

+3-1
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,8 @@ invariant_violated_string(
249249
#define __this_function__ __func__
250250
#endif
251251

252+
#define EXPAND(x) x
253+
252254
#define GET_MACRO(X1, X2, X3, X4, X5, X6, MACRO, ...) MACRO
253255

254256
#define REDIRECT(MACRO, ...) \
@@ -373,7 +375,7 @@ invariant_violated_string(
373375
#define DATA_INVARIANT3(CONDITION, REASON, DIAGNOSTICS) \
374376
INVARIANT3(CONDITION, REASON, DIAGNOSTICS)
375377

376-
#define DATA_INVARIANT(...) REDIRECT(DATA_INVARIANT, __VA_ARGS__)
378+
#define DATA_INVARIANT(...) EXPAND(REDIRECT(DATA_INVARIANT, __VA_ARGS__))
377379

378380
#define DATA_INVARIANT_STRUCTURED(CONDITION, TYPENAME, ...) \
379381
INVARIANT_STRUCTURED(CONDITION, TYPENAME, __VA_ARGS__)

0 commit comments

Comments
 (0)