diff options
author | Andrew Pinski <pinskia@gmail.com> | 2006-12-22 00:31:03 -0800 |
---|---|---|
committer | Andrew Pinski <pinskia@gcc.gnu.org> | 2006-12-22 00:31:03 -0800 |
commit | e5b44dfb3e7f20af022a3c9133cbc5c610b50124 (patch) | |
tree | 2f6a29ba43eda735e704982beaccd5a2c3dd5e71 /gcc | |
parent | b3c4918f98830ee60d9d6dcad83de6e9e2f9ef6d (diff) | |
download | gcc-e5b44dfb3e7f20af022a3c9133cbc5c610b50124.zip gcc-e5b44dfb3e7f20af022a3c9133cbc5c610b50124.tar.gz gcc-e5b44dfb3e7f20af022a3c9133cbc5c610b50124.tar.bz2 |
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 <pinskia@gmail.com>
PR C++/30225
* decl.c (cxx_builtin_function): Only copy the decl if adding
it to the std namespace
From-SVN: r120145
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/decl.c | 6 |
2 files changed, 9 insertions, 3 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index caad0ec..5009eba 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,11 @@ 2006-12-21 Andrew Pinski <pinskia@gmail.com> + PR C++/30225 + * decl.c (cxx_builtin_function): Only copy the decl if adding + it to the std namespace. + +2006-12-21 Andrew Pinski <pinskia@gmail.com> + PR C++/30168 * optimize.c (update_cloned_parm): Copy DECL_GIMPLE_REG_P also. diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 5c7d508..6a46636 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 |