From: Jan Hubicka Date: Thu, 10 Apr 2003 21:54:33 +0000 (+0200) Subject: re PR inline-asm/8803 (Internal compiler error in instantiate_virtual_regs_1, at... X-Git-Tag: releases/gcc-3.4.0~7383 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f90e4deafa94c9ffff4e446ec80fd9c08a15b65d;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d56304733d13..263bdc9bf499 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 b87da2ad25ff..306e75236547 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