(substitute_expr): Don't abort for RTL_EXPR and SAVE_EXPR; just do

nothing.

From-SVN: r6357
This commit is contained in:
Richard Kenner 1994-01-04 07:34:51 -05:00
parent dadae8179e
commit 6a22e3a731
1 changed files with 11 additions and 2 deletions

View File

@ -1,5 +1,5 @@
/* Language-independent node constructors for parse phase of GNU compiler.
Copyright (C) 1987, 1988, 1992, 1993 Free Software Foundation, Inc.
Copyright (C) 1987, 1988, 1992, 1993, 1994 Free Software Foundation, Inc.
This file is part of GNU CC.
@ -2017,7 +2017,11 @@ substitute_in_expr (exp, f, r)
f, r)));
case 2:
if (code == RTL_EXPR || code == CONSTRUCTOR)
/* An RTL_EXPR cannot contain a PLACEHOLDER_EXPR; a CONSTRUCTOR
could, but we don't support it. */
if (code == RTL_EXPR)
return exp;
else if (code == CONSTRUCTOR)
abort ();
return fold (build (code, TREE_TYPE (exp),
@ -2026,6 +2030,11 @@ substitute_in_expr (exp, f, r)
f, r)));
case 3:
/* It cannot be that anything inside a SAVE_EXPR contains a
PLACEHOLDER_EXPR. */
if (code == SAVE_EXPR)
return exp;
if (code != COND_EXPR)
abort ();