aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/name-lookup.c5
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index adad8cc..502c650 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,9 @@
+2008-09-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR c++/37450
+ * name-lookup.c (pushdecl_maybe_friend): Don't return the old
+ parameter for duplicate.
+
2008-09-17 Jason Merrill <jason@redhat.com>
PR c++/37588
diff --git a/gcc/cp/name-lookup.c b/gcc/cp/name-lookup.c
index a7c5be4..946b321 100644
--- a/gcc/cp/name-lookup.c
+++ b/gcc/cp/name-lookup.c
@@ -720,8 +720,9 @@ pushdecl_maybe_friend (tree x, bool is_friend)
else if (TREE_CODE (t) == PARM_DECL)
{
/* Check for duplicate params. */
- if (duplicate_decls (x, t, is_friend))
- POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, t);
+ tree d = duplicate_decls (x, t, is_friend);
+ if (d)
+ POP_TIMEVAR_AND_RETURN (TV_NAME_LOOKUP, d);
}
else if ((DECL_EXTERN_C_FUNCTION_P (x)
|| DECL_FUNCTION_TEMPLATE_P (x))