From 2a870e329cbe6e551f6a4d8c6126948ccfd3ea6e Mon Sep 17 00:00:00 2001 From: samaldana Date: Thu, 20 Aug 2020 01:37:57 +0200 Subject: [PATCH] Fix warning for zero variadic macro arguments. (#2151) When consuming dlib headers and building using gcc/clang with flags '-Werror -Wpedantic', any inclusion involving DLIB_CASSERT triggers a compilation error: ISO C++11 requires at least one argument for the "..." in a variadic macro Co-authored-by: Samuel Aldana --- dlib/assert.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dlib/assert.h b/dlib/assert.h index 370f9c07a..291b91083 100644 --- a/dlib/assert.h +++ b/dlib/assert.h @@ -160,7 +160,7 @@ namespace dlib #define DLIBM_CASSERT_1_ARGS(exp) DLIBM_CASSERT(exp,"") #define DLIBM_CASSERT_2_ARGS(exp,message) DLIBM_CASSERT(exp,message) #define DLIBM_GET_3TH_ARG(arg1, arg2, arg3, ...) arg3 -#define DLIBM_CASSERT_CHOOSER(...) DLIB_WORKAROUND_VISUAL_STUDIO_BUGS(DLIBM_GET_3TH_ARG(__VA_ARGS__, DLIBM_CASSERT_2_ARGS, DLIBM_CASSERT_1_ARGS)) +#define DLIBM_CASSERT_CHOOSER(...) DLIB_WORKAROUND_VISUAL_STUDIO_BUGS(DLIBM_GET_3TH_ARG(__VA_ARGS__, DLIBM_CASSERT_2_ARGS, DLIBM_CASSERT_1_ARGS, NEVER_USED)) #define DLIB_CASSERT(...) DLIB_WORKAROUND_VISUAL_STUDIO_BUGS(DLIBM_CASSERT_CHOOSER(__VA_ARGS__)(__VA_ARGS__))