diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index 4b66c84174d..c4f7c5af01a 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,3 +1,8 @@ +2012-04-30 Dodji Seketeli + + Fix cpp_sys_macro_p with -ftrack-macro-expansion + * macro.c (cpp_sys_macro_p): Support -ftrack-macro-expansion. + 2012-04-29 Dodji Seketeli * lex.c (lex_raw_string): Change C++ style comments into C style diff --git a/libcpp/macro.c b/libcpp/macro.c index 54de3e3fc0d..4f8e52f22cf 100644 --- a/libcpp/macro.c +++ b/libcpp/macro.c @@ -2436,7 +2436,12 @@ cpp_get_token_with_location (cpp_reader *pfile, source_location *loc) int cpp_sys_macro_p (cpp_reader *pfile) { - cpp_hashnode *node = pfile->context->c.macro; + cpp_hashnode *node = NULL; + + if (pfile->context->tokens_kind == TOKENS_KIND_EXTENDED) + node = pfile->context->c.mc->macro_node; + else + node = pfile->context->c.macro; return node && node->value.macro && node->value.macro->syshdr; }