diff options
Diffstat (limited to 'gcc/cpplib.c')
-rw-r--r-- | gcc/cpplib.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/cpplib.c b/gcc/cpplib.c index 0a93036..e3feae9 100644 --- a/gcc/cpplib.c +++ b/gcc/cpplib.c @@ -1706,7 +1706,8 @@ check_macro_name (pfile, symname, usage) /* Return zero if two DEFINITIONs are isomorphic. */ static int -compare_defs (d1, d2) +compare_defs (pfile, d1, d2) + cpp_reader *pfile; DEFINITION *d1, *d2; { register struct reflist *a1, *a2; @@ -1716,7 +1717,8 @@ compare_defs (d1, d2) if (d1->nargs != d2->nargs) return 1; - if (strcmp ((char *)d1->args.argnames, (char *)d2->args.argnames)) + if (CPP_PEDANTIC (pfile) + && strcmp ((char *)d1->args.argnames, (char *)d2->args.argnames)) return 1; for (a1 = d1->pattern, a2 = d2->pattern; a1 && a2; a1 = a1->next, a2 = a2->next) { @@ -1812,7 +1814,7 @@ do_define (pfile, keyword, buf, limit) ok = 1; /* Redefining a macro is ok if the definitions are the same. */ else if (hp->type == T_MACRO) - ok = ! compare_defs (mdef.defn, hp->value.defn); + ok = ! compare_defs (pfile, mdef.defn, hp->value.defn); /* Redefining a constant is ok with -D. */ else if (hp->type == T_CONST) ok = ! CPP_OPTIONS (pfile)->done_initializing; |