diff options
author | Jason Merrill <jason@redhat.com> | 2000-10-23 17:38:33 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2000-10-23 17:38:33 -0400 |
commit | 6c6ed0ef928235a51966759aa3d6ca6cb960f334 (patch) | |
tree | 57169762c729b022aea2e99d12e99240487ac88e /gcc/cp/call.c | |
parent | 57dd137ffb7556e2cbd6e3db18e495a8521e52fb (diff) | |
download | gcc-6c6ed0ef928235a51966759aa3d6ca6cb960f334.zip gcc-6c6ed0ef928235a51966759aa3d6ca6cb960f334.tar.gz gcc-6c6ed0ef928235a51966759aa3d6ca6cb960f334.tar.bz2 |
* call.c (equal_functions): Also call decls_match for extern "C" fns.
From-SVN: r37024
Diffstat (limited to 'gcc/cp/call.c')
-rw-r--r-- | gcc/cp/call.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/cp/call.c b/gcc/cp/call.c index c31333e..ba77b64 100644 --- a/gcc/cp/call.c +++ b/gcc/cp/call.c @@ -4931,14 +4931,16 @@ add_warning (winner, loser) } /* Returns true iff functions are equivalent. Equivalent functions are - not identical only if one is a function-local extern function. */ + not '==' only if one is a function-local extern function or if + both are extern "C". */ static inline int equal_functions (fn1, fn2) tree fn1; tree fn2; { - if (DECL_LOCAL_FUNCTION_P (fn1) || DECL_LOCAL_FUNCTION_P (fn2)) + if (DECL_LOCAL_FUNCTION_P (fn1) || DECL_LOCAL_FUNCTION_P (fn2) + || DECL_EXTERN_C_FUNCTION_P (fn1)) return decls_match (fn1, fn2); return fn1 == fn2; } |