From: Jason Merrill Date: Wed, 20 Aug 2003 21:46:48 +0000 (-0400) Subject: tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'. X-Git-Tag: releases/gcc-3.4.0~4168 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=68ad9159aa8f37386cc910950e1814825e2335b6;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b50dbb1b2592..2ff2414d9e7c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2003-08-20 Jason Merrill + + * 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 * config/m68k/m68k.c (m68k_output_mi_thunk): delete obsolete code diff --git a/gcc/calls.c b/gcc/calls.c index bdb4288100f7..f4bf6d3b70dd 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 488239d75cb5..ef7c086087b6 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 07664bdb69b3..8893b26236ab 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)) diff --git a/gcc/tree.c b/gcc/tree.c index 3bae512970c3..d38a87daf1f9 100644 --- a/gcc/tree.c +++ b/gcc/tree.c @@ -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); diff --git a/gcc/tree.h b/gcc/tree.h index 6826109faaef..0563f08554a9 100644 --- a/gcc/tree.h +++ b/gcc/tree.h @@ -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; })