diff options
Diffstat (limited to 'gcc/config/v850')
-rw-r--r-- | gcc/config/v850/v850.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/gcc/config/v850/v850.c b/gcc/config/v850/v850.c index dca82b9ccac..45312fa1d4a 100644 --- a/gcc/config/v850/v850.c +++ b/gcc/config/v850/v850.c @@ -792,10 +792,13 @@ v850_output_addr_const_extra (FILE * file, rtx x) nothing, since the table will not be used. (cf gcc.c-torture/compile/990801-1.c). */ if (GET_CODE (x) == MINUS - && GET_CODE (XEXP (x, 0)) == LABEL_REF - && GET_CODE (XEXP (XEXP (x, 0), 0)) == CODE_LABEL - && INSN_DELETED_P (XEXP (XEXP (x, 0), 0))) - return true; + && GET_CODE (XEXP (x, 0)) == LABEL_REF) + { + rtx_code_label *label + = dyn_cast<rtx_code_label *> (XEXP (XEXP (x, 0), 0)); + if (label && label->deleted ()) + return true; + } output_addr_const (file, x); return true; |