-
Notifications
You must be signed in to change notification settings - Fork 512
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
__out macro breaks <vector> in mingw STL #337
Comments
I just literally froze when I saw hundreds of errors from <vector>. My suggestion is defining all proprietary things with |
From memory, the The fix maybe is to just remove the annotations completely from |
I just checked my MSVC and MinGW installation, and they both have a header called (In the /* FIXME: __in macro conflicts with argument names in libstdc++. For this reason,
* we disable it for C++. This should be fixed in libstdc++ so we can uncomment
* it in fixed version here. */
#if !defined(__cplusplus) || !defined(__GNUC__)
#define __in
#define __out
#endif btw, we only need to include the following files in #include <minwindef.h>
#include <minwinbase.h>
#include <sal.h> |
following snippet will not compile under mingw-w64
mingw version:
compilation error:
We can see this at L49 of
windivert.h
.It seems that this line broke the STL by replacing ALL
__out
to nothingAlso, the snippet will succeed to compile if I add the following before the tail of include guard (I mean
#endif /* __WINDIVERT_H */
):The text was updated successfully, but these errors were encountered: