News for hackers. Stuff that matters.
Re:Tell HN: C Experts Panel – Ask us anything about C by JoeAltmaier on Wednesday April 15, 2020 @09:13AM (#22877285)
Same here. But I instead run a loop over a range around MAX_INT (or wherever the issue is) and print the result, so I know I'm doing what I think I'm doing. Exhaustive testing is quick, with a computer!
Re:Tell HN: C Experts Panel – Ask us anything about C by GTP on Wednesday April 15, 2020 @01:07PM (#22880235)
This isn't a good idea either: if you're dealing with undefined behavior the way the complier translates your code can change from version to version, so you could end up with a code that works with the current version of GCC but doesn't work on the next. Personally I don't agree with the way GCC and other comipers deal with UB, but this would be off topic.
Re:Tell HN: C Experts Panel – Ask us anything about C by JoeAltmaier on Thursday April 16, 2020 @10:25AM (#22889667)
Hm. May be off-topic by now. Incrementing an int is going to work the same on the same hardware, forever. Nothing the compile has any say in.
Re:Tell HN: C Experts Panel – Ask us anything about C by flatfinger on Thursday April 16, 2020 @04:59PM (#22893497)
If a compiler decides that it's going to process:

    unsigned mul(unsigned short x, unsigned short y)
    { return x*y; }
in a way that causes calling code to behave in meaningless fashion if x would exceed INT_MAX/y [something gcc will sometimes actually do, by the way, with that exact function!], the hardware isn't going to have any say in that.