#CL386 bug report (March)
2 messages in this thread
Hi –
I would like to report a bug in the CL386 x86 C compiler for NT in the March
1993 CD release. The problem is a place where a volatile reference is moved
across a sequence point in my program:
outp(…);
if (*p != …)
In this segment of the function, the CMP for the if is placed BEFORE the OUT.
I realize that this is not proper code for an NT driver, but I fear this bug
could appear in other situations and produce problems. Even minor changes to
the function caused the problem to go away, so try the file as-is to reproduce
the bug. Here is the line I used in my makefile:
bug.cod: bug.c
cl386 -nologo -I i386\ -I . -I ..\inc -I e:\ddk\inc -I e:\ddk\inc -I
e:\ddk\inc\crt -D_X86_=1 -Di386=1 -DCONDITION_HAND LING=1
-DWIN32_LEAN_AND_MEAN=1 -DNT_UP=1 -DNT_INST=0 -DSTD_CALL -DDBG=1 -DDEVL=1
-DFPO=0 /c /Zel /Zp8 /W3 /Gz
-H63 /G4 /Ox /Oy- /Zd -Fobug.obj -Fcbug.cod bug.c
I will upload the C file and the COD file that demonstrate the problem to
library section 1 as CLBUG.ZIP.
Mark Wickham LaserMaster Corp.
There is 1 Reply.
Mark,
> I will upload the C file and the COD file that demonstrate the problem to
library section 1 as CLBUG.ZIP.
I have been checking for this file, but I have not seen it as of yet. Was it
successfully sent? If so, I'll bug the sysop about this.
Sincerely,
Julie Solon
Microsoft Developer Support