diff options
author | Jason Merrill <jason@redhat.com> | 2003-08-20 17:46:48 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2003-08-20 17:46:48 -0400 |
commit | 68ad9159aa8f37386cc910950e1814825e2335b6 (patch) | |
tree | a4be84606bce231dfa45e9238c38069766649fd4 /gcc | |
parent | c8e60672eff02dc404f86f6fdaecbc45c622f838 (diff) | |
download | gcc-68ad9159aa8f37386cc910950e1814825e2335b6.zip gcc-68ad9159aa8f37386cc910950e1814825e2335b6.tar.gz gcc-68ad9159aa8f37386cc910950e1814825e2335b6.tar.bz2 |
tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'.
* tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'.
(EXPR_CHECK): Don't check for 'r' or 's' if we're
checking IS_EXPR_CODE_CLASS.
* calls.c (calls_function_1): Likewise.
* fold-const.c (fold): Likewise.
* tree.c (iterative_hash_expr): Likewise.
* tree-inline.c (walk_tree, copy_tree_r): Likewise.
From-SVN: r70617
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/calls.c | 4 | ||||
-rw-r--r-- | gcc/fold-const.c | 2 | ||||
-rw-r--r-- | gcc/tree-inline.c | 10 | ||||
-rw-r--r-- | gcc/tree.c | 2 | ||||
-rw-r--r-- | gcc/tree.h | 5 |
6 files changed, 19 insertions, 14 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b50dbb1..2ff2414 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2003-08-20 Jason Merrill <jason@redhat.com> + + * tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'. + (EXPR_CHECK): Don't check for 'r' or 's' if we're + checking IS_EXPR_CODE_CLASS. + * calls.c (calls_function_1): Likewise. + * fold-const.c (fold): Likewise. + * tree.c (iterative_hash_expr): Likewise. + * tree-inline.c (walk_tree, copy_tree_r): Likewise. + 2003-08-20 Gunther Nikl <gni@gecko.de> * config/m68k/m68k.c (m68k_output_mi_thunk): delete obsolete code diff --git a/gcc/calls.c b/gcc/calls.c index bdb4288..f4bf6d3 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -262,8 +262,8 @@ calls_function_1 (tree exp, int which) break; } - /* Only expressions, references, and blocks can contain calls. */ - if (! IS_EXPR_CODE_CLASS (class) && class != 'r' && class != 'b') + /* Only expressions and blocks can contain calls. */ + if (! IS_EXPR_CODE_CLASS (class) && class != 'b') return 0; for (i = 0; i < length; i++) diff --git a/gcc/fold-const.c b/gcc/fold-const.c index 488239d..ef7c086 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -5032,7 +5032,7 @@ fold (tree expr) do arithmetic on them. */ wins = 0; } - else if (IS_EXPR_CODE_CLASS (kind) || kind == 'r') + else if (IS_EXPR_CODE_CLASS (kind)) { int len = first_rtl_op (code); int i; diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index 07664bd..8893b26 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -1661,15 +1661,11 @@ walk_tree (tree *tp, walk_tree_fn func, void *data, void *htab_) } /* Handle common cases up front. */ - if (IS_EXPR_CODE_CLASS (TREE_CODE_CLASS (code)) - || TREE_CODE_CLASS (code) == 'r' - || TREE_CODE_CLASS (code) == 's') + if (IS_EXPR_CODE_CLASS (TREE_CODE_CLASS (code))) #else /* INLINER_FOR_JAVA */ if (code != EXIT_BLOCK_EXPR && code != SAVE_EXPR - && (IS_EXPR_CODE_CLASS (TREE_CODE_CLASS (code)) - || TREE_CODE_CLASS (code) == 'r' - || TREE_CODE_CLASS (code) == 's')) + && IS_EXPR_CODE_CLASS (TREE_CODE_CLASS (code))) #endif /* INLINER_FOR_JAVA */ { int i, len; @@ -1862,9 +1858,7 @@ copy_tree_r (tree *tp, int *walk_subtrees, void *data ATTRIBUTE_UNUSED) /* We make copies of most nodes. */ if (IS_EXPR_CODE_CLASS (TREE_CODE_CLASS (code)) - || TREE_CODE_CLASS (code) == 'r' || TREE_CODE_CLASS (code) == 'c' - || TREE_CODE_CLASS (code) == 's' || code == TREE_LIST || code == TREE_VEC || (*lang_hooks.tree_inlining.tree_chain_matters_p) (*tp)) @@ -3527,7 +3527,7 @@ iterative_hash_expr (tree t, hashval_t val) else abort (); } - else if (IS_EXPR_CODE_CLASS (class) || class == 'r') + else if (IS_EXPR_CODE_CLASS (class)) { val = iterative_hash_object (code, val); @@ -57,7 +57,8 @@ extern const char tree_code_type[]; expression. */ #define IS_EXPR_CODE_CLASS(CLASS) \ - ((CLASS) == '<' || (CLASS) == '1' || (CLASS) == '2' || (CLASS) == 'e') + ((CLASS) == '<' || (CLASS) == '1' || (CLASS) == '2' || (CLASS) == 'e' \ + || (CLASS) == 'r' || (CLASS) == 's') /* Number of argument-words in each kind of tree-node. */ @@ -291,7 +292,7 @@ struct tree_common GTY(()) #define EXPR_CHECK(T) __extension__ \ ({ const tree __t = (T); \ char const __c = TREE_CODE_CLASS (TREE_CODE (__t)); \ - if (!IS_EXPR_CODE_CLASS (__c) && __c != 'r' && __c != 's') \ + if (!IS_EXPR_CODE_CLASS (__c)) \ tree_class_check_failed (__t, 'e', __FILE__, __LINE__, \ __FUNCTION__); \ __t; }) |