On 05/22/2012 05:04 AM, Dodji Seketeli wrote:
The problem is that cpp_get_token_1 can be called when we are at the beginning of a macro expansion (inside enter_macro_expansion, called from cpp_get_token_1), *before* context->c.macro is set. This happens e.g, when we call funlike_invocation_p to know if the current macro is function-like or not.
OK, sounds like we need some additional code to handle that. I guess we could do something in funlike_invocation_p to prevent cpp_get_token_1 from setting invocation_location, or change the check we use to decide whether or not we already have an invocation location, perhaps by looking at invocation_location itself (and clearing it when we finish a macro).
Jason