2,661 karma · joined June 30, 2014
That sounds like implementation-defined behavior, not undefined behavior.
I'm not an apple user but it is obvious to me that apple users aren't paying more just for the box.
We still do this today. We rely on some tooling-added information and add our own custom information on top (git hash, hash of direct dependencies, compiler version and flags, etc).
Sometimes you are working within the guaranteed bounds of an 'int' in the C standard, so portability isn't an issue. Sometimes you are mixing different types and want to capture intermediate values in the promoted type, which is dictated by the C standard. Sometimes you want to use the native machine word for a good reason. And sometimes it is just easier to read and reason about (printf-like conversion specifications, code that interfaces with POSIX APIs frequently, etc).
Is it? I can think of quite a few cases where using 'int' is fine; why is that a problem?