Improve error message with unsupported cpp (#4272)

* Improve error message with unsupported cpp

* Update include/metaprogram.h

Co-authored-by: Martin Griffin <martinrgriffin@gmail.com>

---------

Co-authored-by: Martin Griffin <martinrgriffin@gmail.com>
This commit is contained in:
DizzyEggg 2024-03-16 22:31:58 +01:00 committed by GitHub
parent 7ac8aac913
commit f692244ce7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -2,6 +2,15 @@
#ifndef METAPROGRAM_H
#define METAPROGRAM_H
/* Check if VA_OPT_ is supported by the compiler. GCC's version should be at least 9.5*/
#define PP_THIRD_ARG(a,b,c,...) c
#define VA_OPT_SUPPORTED_I(...) PP_THIRD_ARG(__VA_OPT__(,),TRUE,FALSE,)
#define VA_OPT_SUPPORTED VA_OPT_SUPPORTED_I(?)
#if !VA_OPT_SUPPORTED
#error ERROR: VA_OPT__ is not supported. Please update your gcc compiler to version 10 or higher
#endif // VA_OPT_SUPPORTED
/* Calls m0/m1/.../m8 depending on how many arguments are passed. */
#define VARARG_8(m, ...) CAT(m, NARG_8(__VA_ARGS__))(__VA_ARGS__)