Bug list for Microsoft C

RAMontante bobmon at iuvax.cs.indiana.edu
Wed Jul 20 01:44:06 AEST 1988


seanf at sco.COM (Sean Fagan) writes:
+iverson at cory.Berkeley.EDU.UUCP (Tim Iverson) writes:
+>int i=1, j=33;
+>
+>main() {
+>    printf("%x\n", 1<<33);
+>    printf("%x\n", 1>>33);
+>    printf("%x\n", i<<j);
+>    printf("%x\n", i>>j);
+>}
+>What results do you get? (This might even be interesting on non 86 machines;
+>oh boy, I just checked a non 86, and it failed too.)
+
+Under Xenix '386, I get: 2, 0, 2, 0; using the '286 compiler, I get 0, 0, 2,
+0.  So, anybody, what does ANSI say (in plain English)?  I tried reading the
+draft to see what it should be, and I couldn't make head nor tail of it...
+Somebody said, earlier, that both K&R and ANSI say the results are
+implementation defined, but, from what I could stand of the draft, it didn't
+seem to say that.

And Turbo C v1.5 gave me
0
0
0
0

Something of a letdown, that.  So what ARE the right numbers, and what is the
right answer?
-- 
--	bob,mon				(bobmon at iuvax.cs.indiana.edu)
--	"In this position, the skier is flying in a complete stall..."



More information about the Comp.lang.c mailing list