Currently compile-time string literal for variadic struct's field name is implemented using macro. This limits maximum field name size to 50 symbols and also leads to long and cumbersome compiler errors.
For GCC and Clang we have a better option which does not suffer mentioned drawbacks. Those compiler have extension allowing string literal operator templates. See N3599 proposal for more information.
In this issue I propose following solution:
check n3599 support during configure step and define NEM2_USE_STRING_LITERAL_OPERATOR_TEMPLATE accordingly
fallback to macro usage if NEM2_USE_STRING_LITERAL_OPERATOR_TEMPLATE is not defined or 0.
Currently compile-time string literal for variadic struct's field name is implemented using macro. This limits maximum field name size to 50 symbols and also leads to long and cumbersome compiler errors. For GCC and Clang we have a better option which does not suffer mentioned drawbacks. Those compiler have extension allowing string literal operator templates. See N3599 proposal for more information. In this issue I propose following solution: