summaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorrodrigc <rodrigc@138bc75d-0d04-0410-961f-82ee72b054a4>2001-11-29 21:39:41 +0000
committerrodrigc <rodrigc@138bc75d-0d04-0410-961f-82ee72b054a4>2001-11-29 21:39:41 +0000
commitfd87d671f6c5bb476f5025bfa40f05c654da77d0 (patch)
tree0eefc5a66f9adae287745db20e60e8011edc2ce6 /gcc/config
parent6b60e453dbbd07fbca923fd64e6ea2f86b370e31 (diff)
downloadgcc-fd87d671f6c5bb476f5025bfa40f05c654da77d0.tar.gz
2001-11-29 Craig Rodrigues <rodrigc@gcc.gnu.org>
PR other/4932 * config/i386/i386.c (print_operand): Verify that the argument to %c is a constant and not a conditional which needs to be reversed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47453 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/i386/i386.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 46ef9f0afb7..b52203553af 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -5650,6 +5650,13 @@ print_operand (file, x, code)
/* Like above, but reverse condition */
case 'c':
+ /* Check to see if argument to %c is really a constant
+ and not a condition code which needs to be reversed. */
+ if (GET_RTX_CLASS (GET_CODE (x)) != '<')
+ {
+ output_operand_lossage ("operand is neither a constant nor a condition code, invalid operand code 'c'");
+ return;
+ }
put_condition_code (GET_CODE (x), GET_MODE (XEXP (x, 0)), 1, 0, file);
return;
case 'f':