Beating an optimising compiler at compiling division calculations: https://lemire.me/blog/2019/02/08/faster-remainders-when-the-divisor-is-a-constant-beating-compilers-and-libdivide/
(TIL that gcc, clang and libdivide use different techniques!)
Related Posts
C++ no longer considers trivial infinite loops to be undefined behaviour! https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2809r3.html
Spotted in the release notes for the latest clang.
I'm never sure what to name my remotes in git. I tend to use 'mine' so I can add other forks later, but sometimes I use 'gh' or the traditional 'origin'.
What do others use?
I would have thought that invoking a C compiler would be a solved problem. Looking at Rust's cc crate there's a remarkable long tail of corner cases to fix.
Exotic CPUs, microarchitectures, compiler differences, operating system differences, etc.
https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md