From 79a365a71e7f8614265378acf7b7f7b364834724 Mon Sep 17 00:00:00 2001 From: Richard Stallman Date: Wed, 30 Dec 1992 07:29:06 +0000 Subject: [PATCH] (emit_reload_insns): Error instead of abort if an asm has a VOIDmode output operand. From-SVN: r2990 --- gcc/reload1.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) 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. */ -- 2.30.2