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
This commit is contained in:
Jason Merrill 2003-08-20 17:46:48 -04:00 committed by Jason Merrill
parent c8e60672ef
commit 68ad9159aa
6 changed files with 19 additions and 14 deletions

View File

@ -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

View File

@ -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++)

View File

@ -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;

View File

@ -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))

View File

@ -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);

View File

@ -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; })