Am 18.11.2010, 00:03 Uhr, schrieb Henk Robbers <h.robbers@chello.nl>:
Pure C expands macro's while collecting arguments. If a argument is a macro name it is expanded before insertion. Which is non standard. (But useful. And looks more obvious.) See K&R second edition A12.3 page 230 second alinea: "During collection, arguments are not macro-expanded."
Thanks. Now it's clear.
The C standard is a bad standard, due to incompetent compiler writers in the big firms. Clumsy code in existing compilers has been promoted to 'standard' because already too many programs were relying on the clumsinesses.
True, true. And GNU-people gladly stick to that behavior. Or is there a switch for gcc to enable the expansion?
-- Helmut Karlowski