
Dear Thomas Weber,
In message 4B1CFEF3.7080302@corscience.de you wrote:
Which problem is this supposed to fix?
...
In commit 60f61e6d7655400bb785a2ef637581679941f6d1 the following calls where changed.
DM9000_DMP_PACKET("eth_send", packet, length);
DM9000_DMP_PACKET(__func__ , packet, length);
DM9000_DMP_PACKET("eth_rx", rdptr, RxLen);
DM9000_DMP_PACKET(__func__ , rdptr, RxLen);
The identifier __func__ is used to call this macro. Formerly it was a string "eth_send" for the function name.
printf("eth_send" ":length ...") worked, but printf(__func__ ":length ...") doesn't compile. (tested with gcc-4.4.1)
Well, and exactly this is valuable information which should be included into the commit message.
Indeed, neither __func__ nor __FUNCTION__ can be concatenated; for some reason gcc seems to consider these as strings, but not as string constants. Dunno why; probably there is a good reason for this, but it looks stupid to me.
Best regards,
Wolfgang Denk