aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndrew Pinski <pinskia@gmail.com>2006-12-22 00:31:03 -0800
committerAndrew Pinski <pinskia@gcc.gnu.org>2006-12-22 00:31:03 -0800
commite5b44dfb3e7f20af022a3c9133cbc5c610b50124 (patch)
tree2f6a29ba43eda735e704982beaccd5a2c3dd5e71 /gcc
parentb3c4918f98830ee60d9d6dcad83de6e9e2f9ef6d (diff)
downloadgcc-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/ChangeLog6
-rw-r--r--gcc/cp/decl.c6
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