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!
[ Parent
| on HN ]
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.