From a653e27a2e949bb62041509c2aab9787b3fbd480 Mon Sep 17 00:00:00 2001 From: Aris Adamantiadis Date: Sun, 8 Feb 2015 18:49:02 +0100 Subject: buffer: detect compilers not supporting __VA_ARGS__ --- ConfigureChecks.cmake | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'ConfigureChecks.cmake') diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake index 5f570c3c..13a0f4dc 100644 --- a/ConfigureChecks.cmake +++ b/ConfigureChecks.cmake @@ -203,6 +203,18 @@ int main(void) return 0; }" HAVE_GCC_VOLATILE_MEMORY_PROTECTION) +check_c_source_compiles(" +#include +#define __VA_NARG__(...) (__VA_NARG_(_0, ## __VA_ARGS__, __RSEQ_N()) - 1) +#define __VA_NARG_(...) __VA_ARG_N(__VA_ARGS__) +#define __VA_ARG_N( _1, _2, _3, _4, _5, _6, _7, _8, _9,_10,N,...) N +#define __RSEQ_N() 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 +#define myprintf(format, ...) printf((format), __VA_NARG__(__VA_ARGS__), __VA_ARGS__) +int main(void) { + myprintf(\"%d %d %d %d\",1,2,3); + return 0; +}" HAVE_GCC_NARG_MACRO) + if (WITH_DEBUG_CRYPTO) set(DEBUG_CRYPTO 1) endif (WITH_DEBUG_CRYPTO) -- cgit v1.2.3