Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!hplabs!pyramid!octopus!pete From: pete@octopus.COM (Pete Holzmann) Newsgroups: comp.lang.c Subject: HELP! Need *detailed* list of Microsoft C 5.1 -> 6.0 changes Keywords: Silent introduction of BUGS Message-ID: <1991Jun28.030934.10935@Octopus.COM> Date: 28 Jun 91 03:09:34 GMT Sender: pete@Octopus.COM (Pete Holzmann) Organization: Octopus Enterprises, Cupertino CA Lines: 40 We just discovered that Microsoft has silently ANSI-fied "thousands" of things in their C compiler in moving from version 5.1 to 6.0 (that's a quote from a MicroSoft support engineer). Almost none of these changes are documented anywhere. Now I'm not particularly concerned about many of these changes, since they're often enhancements, or obvious changes that show up whenever old non-ANSI code is recompiled. What concerns us, and should concern anyone else who has a significant pile of code written in 5.1 C (we happen to have around a half million lines or so), is that some unknon quantity of these changes can't be caught by the compiler, nor by lint, and they silently introduce bugs into the code! An example: the fputs() function in C 5.1 returns zero if successful, and non-zero if it fails. Under ANSI C (including 6.0), it returns non-negative (0 or greater) if successful, and negative if it fails. Thus, code that correctly looks for ( fputs(...) == 0 ) is no longer valid. Apparently, Microsoft made so many changes of this type that they found it impossible to keep track of them all! Since porting our code from C 5.1 to true ANSI C requires that we fix all bugs of this type, we need to find or create a list of the changes from C 5.1 to C 6.0 that can or will silently introduce bugs into existing code. 1) Does anybody out there already have such a list? 2) Is anybody out there willing or interested in helping me create such a list? If enough of us work on it, it shouldn't be too bad... Thanks! Pete -- Peter Holzmann, Octopus Enterprises |(if you're a techie Christian & are 19611 La Mar Ct., Cupertino, CA 95014 |interested in helping w/ the Great UUCP: {hpda,pyramid}!octopus!pete |Commission, email dsa-contact@octopus) Voice: 408/996-7746;FAX=408/985-0859