X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fcfg%2Fcompiler.h;h=07f4f14118e024456a4ccb73a1095c7b26fcb72f;hb=a2a3507dbe2ed90e363fbcc9bdbafa4970b13f78;hp=a56ef87096020d61fcbf0719c838bc8d0015d4c3;hpb=4908cc78244f414b58c35e8015ec19e1a72613c6;p=bertos.git diff --git a/bertos/cfg/compiler.h b/bertos/cfg/compiler.h index a56ef870..07f4f141 100644 --- a/bertos/cfg/compiler.h +++ b/bertos/cfg/compiler.h @@ -33,7 +33,6 @@ * * \brief Additional support macros for compiler independance * - * \version $Id$ * \author Bernie Innocenti */ @@ -74,6 +73,23 @@ #define PP_STRINGIZE__(x) #x +/** + */ +#if COMPILER_C99 + #define COUNT_PARMS2(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _, ...) _ + #define COUNT_PARMS(...) \ + COUNT_PARMS2(11 , ## __VA_ARGS__, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0) + + #define FN_ARGS ... + +#else + #define COUNT_PARMS2(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _, ...) _ + #define COUNT_PARMS(args...) \ + COUNT_PARMS2(11 , ## args, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0) + + #define FN_ARGS args... +#endif + #if defined(__IAR_SYSTEMS_ICC) || defined(__IAR_SYSTEMS_ICC__) #pragma language=extended