[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