#define crBegin static int state=0; switch(state) { case 0:
#define crReturn(i,x) do { state=i; return x; case i:; } while (0)
#define crFinish }
int function(void) {
static int i;
crBegin;
for (i = 0; i < 10; i++)
crReturn(1, i);
crFinish;
}
=>
int function(void) {
static int i;
static int state=0; switch(state) { case 0:;
for (i = 0; i < 10; i++)
do { state=1; return i; case 1:; } while (0);
};
}