<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE></TITLE>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.6000.16414" name=GENERATOR></HEAD>
<BODY><!-- Converted from text/plain format -->
<P><FONT size=2><FONT size=3>Hi,<BR><BR>As far as for the compiler bugs it seems 
that it has a simple workaround, see bellow for ideas that I have.<BR><BR>The 
main issue that I currently see is that we are getting close to a new release, 
and replacing the compiler so close to a release is not that good idea. As you 
said, for now we can continue based on the binary computability of 
vista.<BR><BR>Thanks<BR>Tzachi<BR><BR>2 ways in order to work around the 
compiler bugs:<BR>As remembered the problem is because we have to make sure that 
we reserve 64 bit for a pointer even on 32 bit systems. The obvious way to do 
this is to use __ptr64 that doesn't work on new builds.<BR>1) As was suggested 
in the OSR forum, one can simply change the struct to use a union of the pointer 
and some 64 bits value.<BR>2) one can use the same struct as before but do some 
other thing:<BR>void test(long 
val)<BR>{<BR>        if (val == 
0)<BR>        
        
return;<BR><BR>        // the following line 
crashes the 6000/6001 WDK 32-bit compiler 
with<BR>        // error C1001: An internal 
error has occurred in the 
compiler.<BR>        
//var1->funcPtr(0);<BR><FONT 
color=#ff0000>        var2 = 
var1->funcPtr;<BR>        var2(0); // Very 
ugly but Compiles well<BR></FONT>}<BR></FONT><BR><BR>> -----Original 
Message-----<BR>> From: ofw-bounces@lists.openfabrics.org<BR>> [<A 
href="mailto:ofw-bounces@lists.openfabrics.org">mailto:ofw-bounces@lists.openfabrics.org</A>] 
On Behalf Of Jan Bottorff<BR>> Sent: Friday, May 25, 2007 10:21 PM<BR>> 
To: Mirko Benz; ofw@lists.openfabrics.org<BR>> Subject: RE: [ofw] Vista 
supported?<BR>><BR>> I know the WinIB source tree will not compile with 
the Vista<BR>> (or later) WDK (at least will not compile for checked 
32-bit<BR>> platforms). The problem is the compiler aborts when<BR>> 
processing __ptr64 pointers inside a structure. The WinIB<BR>> stack uses 
this in LOTS of places.<BR>><BR>> I'm not super optimistic about Microsoft 
fixing the compiler<BR>> anytime soon, because I also see compiler bugs in 
the code<BR>> generation for InterlockedAnd (and other Interlocked<BR>> 
functions) that have been know for more than a year, are not<BR>> fixed. The 
most recent WDK betas seems to have a fix for<BR>> InterlockedAnd in the 
debug build, but the free build still<BR>> gets it wrong.<BR>><BR>> The 
following will reproduce the __ptr64 bug:<BR>><BR>> 
---------------------------------------------------------------<BR>> #include 
<ntddk.h><BR>><BR>> struct 
{<BR>>       void (* __ptr64 funcPtr)(long 
val); } *var1;<BR>><BR>><BR>><BR>><BR>> void test(long 
val)<BR>> {<BR>>       if (val == 0)<BR>> 
              
return;<BR>><BR>>       // the following line 
crashes the 6000/6001 WDK 32-bit<BR>> compiler with<BR>> 
      // error C1001: An internal error has occurred in 
the compiler.<BR>>       
var1->funcPtr(0);<BR>> }<BR>><BR>> NTSTATUS 
DriverEntry(PDRIVER_OBJECT  DriverObject, PUNICODE_STRING<BR>> 
RegistryPath)<BR>> {<BR>>       var1->funcPtr 
= &test;<BR>>       test(1);<BR>> 
      return STATUS_SUCCESS;<BR>> }<BR>> 
--------------------------------------------------------------<BR>><BR>> 
The InterlockedAnd bug shows up in code like:<BR>><BR>> // atomic test and 
clear<BR>> If (InterlockedAnd(&flag, 0)) {<BR>> 
      // this code never executes<BR>> 
      // InterlockedAnd is documented to return the old 
value<BR>>       // but actually returns the 
modified value }<BR>><BR>> Binaries compiled using the W2k3 SP1 DDK can 
run on Vista,<BR>> but doing development on the latest tools is a 
serious<BR>> problem. I view it a Microsoft problem, since it was<BR>> 
something in the Vista (and later) WDK compiler that broke.<BR>><BR>> - 
Jan<BR>><BR>><BR>> -----Original Message-----<BR>> From: 
ofw-bounces@lists.openfabrics.org<BR>> [<A 
href="mailto:ofw-bounces@lists.openfabrics.org">mailto:ofw-bounces@lists.openfabrics.org</A>] 
On Behalf Of Mirko Benz<BR>> Sent: Friday, May 25, 2007 1:38 AM<BR>> To: 
ofw@lists.openfabrics.org<BR>> Subject: [ofw] Vista 
supported?<BR>><BR>> Hi,<BR>><BR>> What is the status of support for 
Vista? Should SRP work?<BR>><BR>> Regards,<BR>> Mirko<BR>> 
_______________________________________________<BR>> ofw mailing list<BR>> 
ofw@lists.openfabrics.org<BR>> <A 
href="http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw">http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw</A><BR>> 
_______________________________________________<BR>> ofw mailing list<BR>> 
ofw@lists.openfabrics.org<BR>> <A 
href="http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw">http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw</A><BR>> 
</FONT></P></BODY></HTML>