diff options
author | Martin v. Löwis <loewis@informatik.hu-berlin.de> | 2000-01-14 23:42:10 +0000 |
---|---|---|
committer | Martin v. Löwis <loewis@gcc.gnu.org> | 2000-01-14 23:42:10 +0000 |
commit | 64f1326a88d6a4e4286f5e454e706cbc5c585881 (patch) | |
tree | b9dea4d023116cbd2989c8c11a93ed8abf4c52cb /gcc | |
parent | 0f7624fc47fb0933db42ac3847a46b8a1b3fdd80 (diff) | |
download | gcc-64f1326a88d6a4e4286f5e454e706cbc5c585881.zip gcc-64f1326a88d6a4e4286f5e454e706cbc5c585881.tar.gz gcc-64f1326a88d6a4e4286f5e454e706cbc5c585881.tar.bz2 |
method.c (build_decl_overload_real): Check whether we are in :: before returning __builtin_new/delete.
* method.c (build_decl_overload_real): Check whether we are in ::
before returning __builtin_new/delete.
From-SVN: r31431
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/method.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 240aa06..619d94c 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2000-01-14 Martin v. Löwis <loewis@informatik.hu-berlin.de> + + * method.c (build_decl_overload_real): Check whether we are in :: + before returning __builtin_new/delete. + 2000-01-13 Mark Mitchell <mark@codesourcery.com> * pt.c (tsubst_friend_function): Improve comment. diff --git a/gcc/cp/method.c b/gcc/cp/method.c index 12d9616..ba8d594 100644 --- a/gcc/cp/method.c +++ b/gcc/cp/method.c @@ -1,6 +1,6 @@ /* Handle the hair of processing (but not expanding) inline functions. Also manage function and variable name overloading. - Copyright (C) 1987, 89, 92-97, 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1987, 89, 92-99, 2000 Free Software Foundation, Inc. Contributed by Michael Tiemann (tiemann@cygnus.com) This file is part of GNU CC. @@ -1579,7 +1579,8 @@ build_decl_overload_real (dname, parms, ret_type, tparms, targs, const char *name = IDENTIFIER_POINTER (dname); /* member operators new and delete look like methods at this point. */ - if (! for_method && parms != NULL_TREE && TREE_CODE (parms) == TREE_LIST + if (! for_method && current_namespace == global_namespace + && parms != NULL_TREE && TREE_CODE (parms) == TREE_LIST && TREE_CHAIN (parms) == void_list_node) { if (dname == ansi_opname[(int) DELETE_EXPR]) |