Following macros:
META_COUNT_VARAGS_BEFORE_COMPILE()
META_COUNT_VARAGS_BEFORE_COMPILE(A)
META_COUNT_VARAGS_BEFORE_COMPILE(1,2,3)
META_COUNT_VARAGS_BEFORE_COMPILE((1+2)<<2)
META_COUNT_VARAGS_BEFORE_COMPILE(2*(1+2))
should expand to:
0
1
3
1
1
but currently they expand to:
0
1
3
0
1
This, combined with _TRACE_EVENT_NTH in BASE_LOG in trace.h will break FW during any calls to _trace_event(..., (x+y)<<z , ...) in runtime (so no compiler warnings).