X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fcfg%2Fcompiler.h;h=843af838c502621f473713c8dff6a945357b28e6;hb=03b9fa23fa8d7c7a49f817cd2108ab47b3afe7ec;hp=8c217c009641115685977aac40ab046aacaaf19c;hpb=245f240a4720c5b2f582842a1cd773dafd8c9f97;p=bertos.git diff --git a/bertos/cfg/compiler.h b/bertos/cfg/compiler.h index 8c217c00..843af838 100644 --- a/bertos/cfg/compiler.h +++ b/bertos/cfg/compiler.h @@ -540,10 +540,10 @@ typedef unsigned char sigmask_t; /**< Type for signal masks. */ * NOTE: the construct __builtin_types_compatible_p() is only * available for C. */ - #define countof(a) (sizeof(a) / sizeof(*(a)) + \ - sizeof(typeof(int[1 - 2 * \ - !!__builtin_types_compatible_p(typeof(a), \ - typeof(&a[0]))])) * 0) + #define countof(a) (sizeof(a) / sizeof(*(a)) + \ + STATIC_ASSERT_EXPR( \ + !__builtin_types_compatible_p( \ + typeof(a), typeof(&a[0])))) #else #define countof(a) (sizeof(a) / sizeof(*(a))) #endif