#include <stdio.h>
#include <stdint.h>
uint32_t foo(void) {
return 0xFFFFFFFF;
}
int32_t bar(void) {
return foo();
}
int main(void) {
int32_t a = bar();
uint32_t b = bar();
printf("Signed: %d, Unsigned: %u\n",a
,b
); printf("Signed cast to unsigned: %u\n", (unsigned) a
); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRpbnQuaD4KCnVpbnQzMl90IGZvbyh2b2lkKSB7CglyZXR1cm4gMHhGRkZGRkZGRjsKfQoKaW50MzJfdCBiYXIodm9pZCkgewoJcmV0dXJuIGZvbygpOwp9CgppbnQgbWFpbih2b2lkKSB7CglpbnQzMl90IGEgPSBiYXIoKTsKCXVpbnQzMl90IGIgPSBiYXIoKTsKCXByaW50ZigiU2lnbmVkOiAlZCwgVW5zaWduZWQ6ICV1XG4iLGEgLGIpOwoJcHJpbnRmKCJTaWduZWQgY2FzdCB0byB1bnNpZ25lZDogJXVcbiIsICh1bnNpZ25lZCkgYSk7CglyZXR1cm4gMDsKfQo=