diff options
author | rms <rms@138bc75d-0d04-0410-961f-82ee72b054a4> | 1992-05-21 18:59:21 +0000 |
---|---|---|
committer | rms <rms@138bc75d-0d04-0410-961f-82ee72b054a4> | 1992-05-21 18:59:21 +0000 |
commit | 01828b3e7318b2e855dfd3930271b7f179357906 (patch) | |
tree | c41085925a62cf346169fbed0e68019ee18d84f2 /gcc/reload.c | |
parent | ee9efa7603c9a22692542126f92c722544bc7393 (diff) | |
download | gcc-01828b3e7318b2e855dfd3930271b7f179357906.tar.gz |
*** empty log message ***
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@1041 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/reload.c')
-rw-r--r-- | gcc/reload.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/gcc/reload.c b/gcc/reload.c index 4bc377019c0..23a2811b6fe 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -1913,13 +1913,17 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p) while (c = *p++) if (c == '%') { - /* The last operand should not be marked commutative. This - problem is hard to detect, so make it obvious by calling - abort here. */ + /* The last operand should not be marked commutative. */ if (i == noperands - 1) - abort (); - - commutative = i; + { + if (this_insn_is_asm) + warning_for_asm (this_insn, + "`%' constraint used with last operand"); + else + abort (); + } + else + commutative = i; } else if (c >= '0' && c <= '9') { |