HELP! Need *detailed* list of Microsoft C 5.1 -> 6.0 changes

Lloyd Kremer kremer at cs.odu.edu
Fri Jun 28 22:44:43 AEST 1991


In article <1991Jun28.030934.10935 at Octopus.COM> pete at octopus.COM (Pete Holzmann) writes:
>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

I think I found one by accident.  Floats no longer automatically promote to
doubles on evaluation.  Instead the resulting type depends on which type comes
first in the SOURCE code!  For example:

	float f;
	double d;

	sizeof(f) == 4
	sizeof(d) == 8
	sizeof(f + d) == 4
	sizeof(d + f) == 8

Any other arithmetic operator works the same.

This may be an unwanted side effect of their change to let floats be passed to
ANSI-defined functions taking a float parameter.

However, I noticed that for old-style argument passing floats are still passed
on the stack as doubles, if that's any consolation.

					Lloyd Kremer
					Hilton Systems, Inc.
					kremer at cs.odu.edu



More information about the Comp.lang.c mailing list