when i store the address of a label with GCCs labels as values extension, are they the same across differently deep calls?
void *label = NULL;
int test() {
if (label == NULL) {
label = &&label_l;
} else {
goto *label;
}
return(test() + 1);
label_l:
return(0);
}
Will this work, even if the label was set in a different stack frame?