This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/35492] ICE building kernel sk_stream_wait_connect output_operand: invalid operand for 'p' modifier
- From: "hp at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 8 Jul 2008 10:26:47 -0000
- Subject: [Bug middle-end/35492] ICE building kernel sk_stream_wait_connect output_operand: invalid operand for 'p' modifier
- References: <bug-35492-507@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #5 from hp at gcc dot gnu dot org 2008-07-08 10:26 -------
Created an attachment (id=15875)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=15875&action=view)
patch for trunk/4.4
This is one part of a correction (regtested on trunk for cris-elf). By itself,
it hides the bug by adding a constraint (redefining K to be a constraint
prefix, renaming current uses to Kc, and introducing Kp) such that the
constraints don't allow what the condition refuses. Lots of editing, mostly
because of renaming.
Thus, it doesn't matter that the condition isn't checked. It's correct to do
this: putting as much of the description as possible into the constraints.
Having that check in the condition was an artefact from when GCC didn't have
multi-letter constraints.
But, reload must also be fixed to not do operand transformations that don't
also check the insn condition. I'm still working on that part.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35492