[Bug inline-asm/16194] [3.3/3.4/4.0 Regression] global register with inline-asm and clobered
pinskia at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Sat Jan 15 06:33:00 GMT 2005
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-01-15 06:33 -------
This was caused by:
2002-09-23 Hans-Peter Nilsson <hp@axis.com>
* doc/extend.texi (Extended Asm): Clarify that overlap between
asm-declared register variables used in an asm and the asm clobber
list is not allowed.
* stmt.c (decl_conflicts_with_clobbers_p): New function.
(expand_asm_operands): Keep track of clobbered registers. Call
decl_conflicts_with_clobbers_p for each input and output operand.
If no conflicts found before, also do conflict sanity check when
emitting clobbers.
But I don't understand why we hit the ICE instead of the error.
Oh, now I know why, because g (and m) can have an INDIRECT_REF.
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |hp at axis dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16194
More information about the Gcc-bugs
mailing list