diff options
author | Mark Mitchell <mmitchell@usa.net> | 1998-02-11 22:47:30 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchell@gcc.gnu.org> | 1998-02-11 22:47:30 +0000 |
commit | 06ab59dfa0a756ffa178714e54c91835aa484f0c (patch) | |
tree | 14f8e3fb29ce4d25f41901d540f98927afbec181 /gcc | |
parent | cc1e5b9ab37880e07285b4a23add86954f1cf0b3 (diff) | |
download | gcc-06ab59dfa0a756ffa178714e54c91835aa484f0c.zip gcc-06ab59dfa0a756ffa178714e54c91835aa484f0c.tar.gz gcc-06ab59dfa0a756ffa178714e54c91835aa484f0c.tar.bz2 |
tree.c (is_overloaded_fn): Use really_overloaded_fn.
* tree.c (is_overloaded_fn): Use really_overloaded_fn.
(really_overloaded_fn): Move check here from is_overloaded_fn.
(get_first_fn): Use really_overloaded_fn and is_overloaded_fn.
From-SVN: r17863
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/tree.c | 32 |
2 files changed, 18 insertions, 20 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index e944c6e..8534f1a 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +Wed Feb 11 16:42:04 1998 Mark Mitchell <mmitchell@usa.net> + + * tree.c (is_overloaded_fn): Use really_overloaded_fn. + (really_overloaded_fn): Move check here from is_overloaded_fn. + (get_first_fn): Use really_overloaded_fn and is_overloaded_fn. + Mon Feb 9 22:23:31 1998 Mark Mitchell <mmitchell@usa.net> * cp-tree.h (push_template_decl): Return the decl passed in, or an diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c index 6ad5740..1bd60f1 100644 --- a/gcc/cp/tree.c +++ b/gcc/cp/tree.c @@ -1299,39 +1299,31 @@ int is_overloaded_fn (x) tree x; { - if (TREE_CODE (x) == FUNCTION_DECL - || TREE_CODE (x) == TEMPLATE_ID_EXPR - || DECL_FUNCTION_TEMPLATE_P (x)) - return 1; - - if (TREE_CODE (x) == TREE_LIST - && (TREE_CODE (TREE_VALUE (x)) == FUNCTION_DECL - || DECL_FUNCTION_TEMPLATE_P (TREE_VALUE (x)))) - return 1; - - return 0; + return (TREE_CODE (x) == FUNCTION_DECL + || TREE_CODE (x) == TEMPLATE_ID_EXPR + || DECL_FUNCTION_TEMPLATE_P (x) + || really_overloaded_fn (x)); } int really_overloaded_fn (x) tree x; { - return TREE_CODE (x) != FUNCTION_DECL - && is_overloaded_fn (x); + return (TREE_CODE (x) == TREE_LIST + && (TREE_CODE (TREE_VALUE (x)) == FUNCTION_DECL + || DECL_FUNCTION_TEMPLATE_P (TREE_VALUE (x)))); } tree get_first_fn (from) tree from; { - if (TREE_CODE (from) == FUNCTION_DECL - || TREE_CODE (from) == TEMPLATE_ID_EXPR - || DECL_FUNCTION_TEMPLATE_P (from)) - return from; + my_friendly_assert (is_overloaded_fn (from), 9); - my_friendly_assert (TREE_CODE (from) == TREE_LIST, 9); - - return TREE_VALUE (from); + if (really_overloaded_fn (from)) + return TREE_VALUE (from); + else + return from; } int |