From 344bd5a86133fcdff69396d9cc526317630c0f70 Mon Sep 17 00:00:00 2001 From: Andrew Pinski Date: Thu, 15 Mar 2007 01:27:29 +0000 Subject: re PR c++/31165 (Error: symbol `an_empty_string' is already defined) 2007-03-14 Andrew Pinski PR c++/31165 * call.c (convert_default_arg): Instead of copying the node, unshare it. 2007-03-14 Andrew Pinski PR C++/31165 * g++.dg/other/default7.C: New test. From-SVN: r122941 --- gcc/cp/call.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gcc/cp/call.c') diff --git a/gcc/cp/call.c b/gcc/cp/call.c index 53129bb..9d25298 100644 --- a/gcc/cp/call.c +++ b/gcc/cp/call.c @@ -4683,7 +4683,7 @@ convert_default_arg (tree type, tree arg, tree fn, int parmnum) VAR_DECL. We can avoid the copy for constants, since they are never modified in place. */ if (!CONSTANT_CLASS_P (arg)) - arg = copy_node (arg); + arg = unshare_expr (arg); arg = convert_for_initialization (0, type, arg, LOOKUP_NORMAL, "default argument", fn, parmnum); arg = convert_for_arg_passing (type, arg); -- cgit v1.1