Bring this back to TUHS relevance...

On Tue, Jan 3, 2023 at 2:43 PM Warner Losh <imp@bsdimp.com> wrote:
The one caveat here is that people must understand the warning and that any change makes things better. There is nothing worse than just tossing a cast in to brute force it, only to later discover it's the wrong cast or you needed a different semantic change. 
Most certainly --   It's why I >>loved<< Gimpel's flex-e-lint product and as Paul pointed out, Judy Ward's messages from the DEC Gem compiler - both were the two best I ever ran into in giving you real information about what was happening.

I also tell a story from my DEC time.   After the GEM compiler was released and before most other vendors were 64-bits, the ISVs were first starting to do their ports to Alpha.   My complaining ensued. Wwould discover from numerous ISVs that after the Alpha port was complete, their bug count dropped - why because the ISV's code has been kinda nasty and the older compilers had been silent about it they had assumed the ILP32 model Alphas, using LP64, could not be.  Judy would find things and say -- what a minute -- you want me to do what with that and issued a fairly detailed warning (which was the key - she explained what the issue was).  Often the 32 to 64-bit nature forced the programmers at the ISV's to rethink how there were actually declaring things to make the code clearer, simpler, better, etc.   The classic rewrite never happens unless you are forced too.

I remember going to a Supercomputer conference and talking with the developers at one the ISVs who I will not name.  He thanks me.  He said his team has been arguing with their management for years to redo the UNIX support library. The Tru64 port was what finally allowed them to do it.  But it took 9 months which pissed off his boss. But when it was completed, and pass all the tests on the Alpha, it just recompiled on Solaris, AIX, and HP-UX - which had never happened before. He could not believe what a great compiler we had.

I've always said the Alpha was the greatest gift to Sun and Intel in the commercial SW world because it forced the ISV to clean up their act before they ever saw those processors and Sun/Intel ports were piece of cake.   It was not that porting to Alpha was difficult -- it was cleaning up your own mess.

Remember we had already gone through this in the PDP-11 ILP16 to Vax ILP32  transition but it is funny how history repeated itself.