--- "William A. Rowe, Jr." <[EMAIL PROTECTED]> wrote: > You realize we missed the turn? ... > So one is left with the question; what is c++ 2003 > trying to accomplish, anyways?
Huh? I think I am as confused as is C++ 2003 compiler, trying to explain this to myself! This is partly due to (I think) confusing terminology or (my) confusing use of terminology. In particular, terms 'unmanaged' and 'managed', when applied to data, can mean data residing in managed or unmanaged memory, which then implies marshalling on transitions between managed and unmanaged code. It can also mean that data type is unmanaged, in the sense of data type not corresponding directly to any of standard CLR types, which again implies marshalling in the sense of tranformation between data types. All in all, I agree with you that: request_rec __nogc *rr; clearly does not reside in managed memory so native call: apr_table_setn(rr->headers_out, response_headers_c[index], poolval); is a transition from unmanaged memory to unmanaged memory and no marshalling of any sort is needed. I guess that compiler is not able to determine that when it encounters apr_table_setn() prototype. It may be just a bug, since previous versions caused no such issues. I'm just guessing... probably again confusing myself and anybody reading this. Tony __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com