v4: PrimaryExpression.Macro seems to be broken for nested macro expansions
The mapping is established on a key {source, offset}, but that does not work in general as we adjust the positions, and thus offsets, of macro expansions to be the same as the token that caused/called the macro expansion.
Not yet sure how to fix it. The only workaround known to me at the moment is to not use (*PrimaryExpression).Macro() when generating code in ccgo/v4 at all, otherwise the values for constants of type #define foo 42 are sometimes incorrect because of the bad mapping.