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