fold-const.c (make_range): Don't go looking at TREE_OPERANDs of nodes that are not expressions.

* fold-const.c (make_range): Don't go looking at TREE_OPERANDs of
	nodes that are not expressions.

From-SVN: r20728
This commit is contained in:
Mark Mitchell 1998-06-25 17:28:11 +00:00 committed by Mark Mitchell
parent 65e92a6066
commit 30d68b865b
2 changed files with 19 additions and 4 deletions

View File

@ -1,3 +1,8 @@
Thu Jun 25 12:47:41 1998 Mark Mitchell <mark@markmitchell.com>
* fold-const.c (make_range): Don't go looking at TREE_OPERANDs of
nodes that are not expressions.
Thu Jun 25 15:08:16 1998 Mark Mitchell <mark@markmitchell.com>
* invoke.texi (-fstrict-aliasing): Document.

View File

@ -2836,10 +2836,20 @@ make_range (exp, pin_p, plow, phigh)
while (1)
{
code = TREE_CODE (exp);
arg0 = TREE_OPERAND (exp, 0), arg1 = TREE_OPERAND (exp, 1);
if (TREE_CODE_CLASS (code) == '<' || TREE_CODE_CLASS (code) == '1'
|| TREE_CODE_CLASS (code) == '2')
type = TREE_TYPE (arg0);
if (IS_EXPR_CODE_CLASS (TREE_CODE_CLASS (code)))
{
arg0 = TREE_OPERAND (exp, 0);
if (TREE_CODE_CLASS (code) == '<'
|| TREE_CODE_CLASS (code) == '1'
|| TREE_CODE_CLASS (code) == '2')
type = TREE_TYPE (arg0);
if (TREE_CODE_CLASS (code) == '2'
|| TREE_CODE_CLASS (code) == '<'
|| (TREE_CODE_CLASS (code) == 'e'
&& tree_code_length[(int) code] > 1))
arg1 = TREE_OPERAND (exp, 1);
}
switch (code)
{