What's this strange static struct { int dummy; int state; } tp; asm (".long %c0" :: "i" (&tp.state)); supposed to do besides having a random number as instruction? That is, if you are lucky it might be a valid instruction. Maybe it shouldn't be in the execution flow? Or the testcase is supposed to be compiled and not run?