This gcc-centric macro in or/config.c doesn't work well in
MSVC v16/18:
#define COMPLAIN(args...) \
STMT_BEGIN log_warn(LD_CONFIG, args); STMT_END
I suggest it should be patched like this:
--- a/config.c 2015-05-06 22:22:09 +0000
+++ b/config.c 2015-05-06 23:15:57 +0000
@@ -2571,8 +2571,8 @@
#define REJECT(arg) \
STMT_BEGIN *msg = tor_strdup(arg); return -1; STMT_END
-#define COMPLAIN(args...) \
- STMT_BEGIN log_warn(LD_CONFIG, args); STMT_END
+#define COMPLAIN(args, ...) \
+ STMT_BEGIN log_warn(LD_CONFIG, args, ## __VA_ARGS__); STMT_END
/** Log a warning message iff <b>filepath</b> is not absolute.
* Warning message must contain option name <b>option</b> and
-------
All recent compilers supports '__VA_ARGS__'?
--
--gv