diff options
Diffstat (limited to 'gcc/cppmacro.c')
-rw-r--r-- | gcc/cppmacro.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/cppmacro.c b/gcc/cppmacro.c index c8e2410..50cc9bb 100644 --- a/gcc/cppmacro.c +++ b/gcc/cppmacro.c @@ -1547,7 +1547,7 @@ _cpp_create_definition (pfile, node) if (!ok) return ok; - if (node->type != NT_VOID) + if (node->type == NT_MACRO) { if (CPP_OPTION (pfile, warn_unused_macros)) _cpp_warn_if_unused_macro (pfile, node, NULL); @@ -1562,9 +1562,11 @@ _cpp_create_definition (pfile, node) node->value.macro->line, 0, "this is the location of the previous definition"); } - _cpp_free_definition (node); } + if (node->type != NT_VOID) + _cpp_free_definition (node); + /* Enter definition in hash table. */ node->type = NT_MACRO; node->value.macro = macro; |