From: Andrew Pinski Date: Fri, 22 Dec 2006 08:31:03 +0000 (-0800) Subject: re PR c++/30225 (builtins's decl is copied in some cases where it is not needed to... X-Git-Tag: releases/gcc-4.3.0~7855 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e5b44dfb3e7f20af022a3c9133cbc5c610b50124;p=thirdparty%2Fgcc.git re PR c++/30225 (builtins's decl is copied in some cases where it is not needed to be copied) 2006-12-21 Andrew Pinski PR C++/30225 * decl.c (cxx_builtin_function): Only copy the decl if adding it to the std namespace From-SVN: r120145 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index caad0ec0fd52..5009ebaa2518 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2006-12-21 Andrew Pinski + + PR C++/30225 + * decl.c (cxx_builtin_function): Only copy the decl if adding + it to the std namespace. + 2006-12-21 Andrew Pinski PR C++/30168 diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 5c7d508fc3e1..6a46636ea10f 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -3402,17 +3402,17 @@ cxx_builtin_function (tree decl) { tree id = DECL_NAME (decl); const char *name = IDENTIFIER_POINTER (id); - tree decl2 = copy_node(decl); /* All builtins that don't begin with an '_' should additionally go in the 'std' namespace. */ if (name[0] != '_') { + tree decl2 = copy_node(decl); push_namespace (std_identifier); - builtin_function_1 (decl, std_node); + builtin_function_1 (decl2, std_node); pop_namespace (); } - return builtin_function_1 (decl2, NULL_TREE); + return builtin_function_1 (decl, NULL_TREE); } /* Generate a FUNCTION_DECL with the typical flags for a runtime library