OK.
Jason
Jason Merrill writes:
> On 04/25/2012 05:07 AM, Dodji Seketeli wrote:
>> + /* If the first token we got was a padding token, let's put
>> + it back into the stream so that cpp_get_token will get it
>> + first; and if we are currently expanding a macro, don't
>> + forg
On 04/25/2012 05:07 AM, Dodji Seketeli wrote:
+ /* If the first token we got was a padding token, let's put
+it back into the stream so that cpp_get_token will get it
+first; and if we are currently expanding a macro, don't
+forget that information. */
Jason Merrill writes:
> On 04/10/2012 03:42 PM, Dodji Seketeli wrote:
>> In that case, besides returning NULL, enter_macro_context sets
>> pfile->context->c.macro to NULL, making cpp_get_token_1 forget to set
>> the location of the "vari" to the expansion point of A.
>
> This seems like a bug tha
On 04/10/2012 03:42 PM, Dodji Seketeli wrote:
In that case, besides returning NULL, enter_macro_context sets
pfile->context->c.macro to NULL, making cpp_get_token_1 forget to set
the location of the "vari" to the expansion point of A.
This seems like a bug that should be fixed rather than worke
Consider the test case gcc/testsuite/gcc.dg/debug/dwarf2/pr41445-5.c.
Its interesting part is:
#define A(x) vari x /* line 7. */
#define vari(x)
#define B , varj
int A(B) ; /* line 10. */
In its initial version, this test was being pre-processed as:
# 1 "gcc/testsuite/gcc.