diff options
author | Jan Hubicka <jh@suse.cz> | 2003-04-10 23:54:33 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2003-04-10 21:54:33 +0000 |
commit | f90e4deafa94c9ffff4e446ec80fd9c08a15b65d (patch) | |
tree | 6e1349bcedc76f09d99e7301723c8a2d323cbecd /gcc/function.c | |
parent | 08744705c05e5eac1407a340ea03d88f00d2cfbe (diff) | |
download | gcc-f90e4deafa94c9ffff4e446ec80fd9c08a15b65d.zip gcc-f90e4deafa94c9ffff4e446ec80fd9c08a15b65d.tar.gz gcc-f90e4deafa94c9ffff4e446ec80fd9c08a15b65d.tar.bz2 |
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
Diffstat (limited to 'gcc/function.c')
-rw-r--r-- | gcc/function.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/function.c b/gcc/function.c index b87da2a..306e752 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 |