Jason Merrill <ja...@redhat.com> writes: > On 10/03/2011 06:49 PM, Dodji Seketeli wrote: >> Good question. Is the below better? > >> + if (linemap_location_from_macro_expansion_p (set, pre)) >> + pre = linemap_resolve_location (set, pre, >> + LRK_MACRO_EXPANSION_POINT, NULL); >> + >> + if (linemap_location_from_macro_expansion_p (set, post)) >> + post = linemap_resolve_location (set, post, >> + LRK_MACRO_EXPANSION_POINT, >> + NULL); > > This looks like two different virtual locations from the same macro > expansion will compare equal.
Yes. I thought this was enough to not regress compared to the current situation where two tokens from the same macro expansion have the spelling location of macro expansion point anyway. This is used for #pragma disagnostic changes in diagnostic_report_diagnostic. Otherwise, I am not sure how this should behave wrt nested macro expansions. -- Dodji