[Windows] __out symbol conflict

Aaron W. LaFramboise aaronavay62@aaronwl.com
Fri Feb 1 19:46:00 GMT 2008


A few years back, MS added macros __in, __out, __z, and a few others to 
the W32 API interface, intended to be used with its Standard Annotation 
Language (SAL) extensions for verifying program correctness.  It is used 
in the Windows system headers, and intended to be used in user code as well.

Now that MinGW w32api is attempting to support this feature, we've 
realized these macros conflict with template/inline code in libstdc++-v3 
headers that also use these names.

What is the proper way to solve this problem?

1) Change __out to something else in GCC headers, perhaps __gcc_out

2) Is it possible to run fixincludes over GCC's own headers, to change 
these names?

3) ???



More information about the Libstdc++ mailing list