------- Comment #1 from pinskia at gcc dot gnu dot org 2007-06-24 11:02 ------- No, the behavior of GCC is the documented behavior.
http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/Labels-as-Values.html Basically if you don't use the labels as values for computed jumps the label can be moved anywhere. If a basic block is unreachable, we can remove it. This is what is happening and not removal of asm and then moving the basic block. Since you cannot use labels as values for anything other than jumps, this is invalid. -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32480