id summary reporter owner description type status milestone component version severity resolution keywords cc 13372 "Boost Preprocessing: compiler error: macro ""BOOST_PP_VARIADIC_ELEM_2"" requires 4 arguments, but only 2 given" Dmitrii B No-Maintainer "The following code produces the following compiler error when compiled with gcc 7.2.0 or clang 3.8.0 {{{ error: macro ""BOOST_PP_VARIADIC_ELEM_2"" requires 4 arguments, but only 2 given }}} {{{ #include #define CREATE_ENUM_ELEMENT(elementTuple) \ BOOST_PP_IF(BOOST_PP_EQUAL(BOOST_PP_TUPLE_SIZE(elementTuple), 3), \ BOOST_PP_TUPLE_ELEM(0, elementTuple) = BOOST_PP_TUPLE_ELEM(2, elementTuple), \ BOOST_PP_TUPLE_ELEM(0, elementTuple) \ ), enum class MyEnum { CREATE_ENUM_ELEMENT((El1)) }; int main() { return 0; } }}} (online demo: http://coliru.stacked-crooked.com/a/f01351ee7a0ca55d ) " Bugs new To Be Determined preprocessor Boost 1.64.0 Problem