From: Richard Stallman Date: Wed, 30 Dec 1992 07:29:06 +0000 (+0000) Subject: (emit_reload_insns): Error instead of abort X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=79a365a71e7f8614265378acf7b7f7b364834724;p=gcc.git (emit_reload_insns): Error instead of abort if an asm has a VOIDmode output operand. From-SVN: r2990 --- diff --git a/gcc/reload1.c b/gcc/reload1.c index 75738ef98bf..6d66504f04a 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -5339,7 +5339,16 @@ emit_reload_insns (insn) mode = GET_MODE (old); if (mode == VOIDmode) - abort (); /* Should never happen for an output. */ + { + /* VOIDmode should never happen for an output. */ + if (asm_noperands (PATTERN (insn)) < 0) + /* It's the compiler's fault. */ + abort (); + error_for_asm (insn, "output operand is constant in `asm'"); + /* Prevent crash--use something we know is valid. */ + mode = word_mode; + old = gen_rtx (REG, mode, REGNO (reloadreg)); + } /* A strict-low-part output operand needs to be reloaded in the mode of the entire value. */