From f90e4deafa94c9ffff4e446ec80fd9c08a15b65d Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Thu, 10 Apr 2003 23:54:33 +0200 Subject: [PATCH] re PR inline-asm/8803 (Internal compiler error in instantiate_virtual_regs_1, at function.c:3974) PR inline-asm/8803 * function.c (instantate_virtual_regs): Verify that all ASM statements match after the virutal regs instantiation. From-SVN: r65438 --- gcc/ChangeLog | 6 ++++++ gcc/function.c | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d56304733d1..263bdc9bf49 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +Thu Apr 10 23:52:30 CEST 2003 Jan Hubicka + + PR inline-asm/8803 + * function.c (instantate_virtual_regs): Verify that all ASM statements + match after the virutal regs instantiation. + 2003-04-10 Steve Ellcey * ia64-protos.h (addp4_optimize_ok): New. diff --git a/gcc/function.c b/gcc/function.c index b87da2ad25f..306e7523654 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -3592,6 +3592,12 @@ instantiate_virtual_regs (fndecl, insns) if (GET_CODE (insn) == CALL_INSN) instantiate_virtual_regs_1 (&CALL_INSN_FUNCTION_USAGE (insn), NULL_RTX, 0); + + /* Past this point all ASM statements should match. Verify that + to avoid failures later in the compilation process. */ + if (asm_noperands (PATTERN (insn)) >= 0 + && ! check_asm_operands (PATTERN (insn))) + instantiate_virtual_regs_lossage (insn); } /* Instantiate the stack slots for the parm registers, for later use in