summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2003-04-10 21:54:33 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2003-04-10 21:54:33 +0000
commit2ff313d1dc13970c0448e55fbcf53185e9795fb1 (patch)
tree6e1349bcedc76f09d99e7301723c8a2d323cbecd
parent19316b5e98e9edac989e9103e108ce4aaebf3f52 (diff)
downloadppe42-gcc-2ff313d1dc13970c0448e55fbcf53185e9795fb1.tar.gz
ppe42-gcc-2ff313d1dc13970c0448e55fbcf53185e9795fb1.zip
PR inline-asm/8803
* function.c (instantate_virtual_regs): Verify that all ASM statements match after the virutal regs instantiation. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@65438 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/function.c6
2 files changed, 12 insertions, 0 deletions
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 <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 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
OpenPOWER on IntegriCloud