#include <stdlib.h>
#include <stdio.h>
#include <stddef.h>
#include <string.h>
int main(void)
{
goto start;
test:
{
return 111;
}
test_end:
start:;
static const ptrdiff_t sz_test = (&&test_end - &&test);
fprintf(stderr
, "%td %p %p %p", sz_test
, main
, (&&test
), (&&test_end
));
void* a = alloca(sz_test);
goto *a;
end:
return 0;
}
I2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPHN0ZGRlZi5oPgojaW5jbHVkZSA8c3RyaW5nLmg+CgppbnQgbWFpbih2b2lkKQp7CmdvdG8gc3RhcnQ7Cgp0ZXN0Ogp7CiAgcmV0dXJuIDExMTsKfQp0ZXN0X2VuZDoKCnN0YXJ0OjsKCnN0YXRpYyBjb25zdCBwdHJkaWZmX3Qgc3pfdGVzdCA9ICgmJnRlc3RfZW5kIC0gJiZ0ZXN0KTsKCmZwcmludGYoc3RkZXJyLCAiJXRkICVwICVwICVwIiwgc3pfdGVzdCwgbWFpbiwgKCYmdGVzdCksICgmJnRlc3RfZW5kKSk7Cgp2b2lkKiBhID0gIGFsbG9jYShzel90ZXN0KTsKCm1lbWNweShhLCAoJiZ0ZXN0KSwgc3pfdGVzdCk7Cgpnb3RvICphOwplbmQ6CnJldHVybiAwOwp9