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 | |
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')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/function.c | 6 |
2 files changed, 12 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d563047..263bdc9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +Thu Apr 10 23:52:30 CEST 2003 Jan Hubicka <jh@suse.cz> + + 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 <sje@cup.hp.com> * ia64-protos.h (addp4_optimize_ok): New. 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 |