diff options
author | Jakub Jelinek <jakub@redhat.com> | 2001-04-04 17:14:24 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2001-04-04 17:14:24 +0200 |
commit | 347f344069b04a3bd333dc0341de7f1db2714af3 (patch) | |
tree | ec8563114db54fbaaa6a2bcedb46d6d00989d62a /gcc/recog.c | |
parent | e59d6709eeadae59bde748d60539f33ae9ac89a4 (diff) | |
download | gcc-347f344069b04a3bd333dc0341de7f1db2714af3.zip gcc-347f344069b04a3bd333dc0341de7f1db2714af3.tar.gz gcc-347f344069b04a3bd333dc0341de7f1db2714af3.tar.bz2 |
recog.c (validate_replace_rtx_1): Instead of aborting just make sure the change won't be validated.
* recog.c (validate_replace_rtx_1): Instead of aborting just make
sure the change won't be validated.
* gcc.c-torture/compile/20010326-1.c: New test.
From-SVN: r41083
Diffstat (limited to 'gcc/recog.c')
-rw-r--r-- | gcc/recog.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/recog.c b/gcc/recog.c index bc7c712..bbecd5b 100644 --- a/gcc/recog.c +++ b/gcc/recog.c @@ -625,7 +625,13 @@ validate_replace_rtx_1 (loc, from, to, object) inner_mode = SImode; if (GET_MODE_CLASS (mode) != MODE_INT) - abort (); + { + /* Substitute in something that we know won't be + recognized. */ + to = gen_rtx_CLOBBER (GET_MODE (x), const0_rtx); + validate_change (object, loc, to, 1); + return; + } if (BYTES_BIG_ENDIAN || WORDS_BIG_ENDIAN) { |