Hartmut Kaiser wrote
If wave's trace could state "hey, this is where the expansion failed!", that would be a great time saver.
What do you mean by that? Where should it point to? The uppermost invocation site? The lowermost macro replacement which failed, somewhere in between?
Well, if there was an error that states that there are too few or too many macro arguments, that means somewhere during scanning/rescanning there was a macro invoked with too many/few arguments. So, the lowest macro replacement which caused this error and what the parameter set that was passed would be AWESOME!
Isn't that what you see in the trace you sent in the very end? There you see BOOST_PP_SEQ_ELEM_III(BOOST_PP_SEQ_ELEM_0) right before the output stops. Further up you can see, that this particular problem occurs while trying to expand BOOST_PP_SEQ_ELEM_II(BOOST_PP_SEQ_ELEM_2 (volatile)(const)) Etc. Regards Hartmut --------------- http://boost-spirit.com http://stellar.cct.lsu.edu