Why are Sd and Sdtty no longer compiled with Microsoft Visual C++?
I’m glad you asked. The Microsoft compiler is not of acceptably high quality for the compilation of Sd and Sdtty. Microsoft may know how to write software that aggressively propagates email viruses (here), and they may know how to write software that deletes competitors’ products (here), and they may know how to write software that makes competing web browsers look defective (here), but they don’t know how, or can’t be bothered, to write compilers that generate correct code. Compilations of Sd and Sdtty have been observed to crash on “snag bits and pieces” from waves. At first this was believed to occur only with Visual C++ version 6, service pack 3, which caused me to revert to version 5. The bug was eventually tracked down to incorrect restoration of the ECX register upon exit from a “switch” statement. Bugs of this type, in which the compiler generates incorrect object code without giving any warning or error message, are inexcusable. The bug was reported to Microsoft in detail on 1