The macros use the current line number for identifying a string. When the line is:
f (some, CONST_STRING("foo"), some_more);
then c2str.pl and the C compiler have different line numbers. So CONST_STRING() has to be on the last line of one statement.
leo