The boolean logic in the patch looks wrong to me.  You're going to end
up disabling __in and __out for all GCC and Clang programs regardless
of what language they use because __GNUC__ will be defined.

Seems like this would be better:

#if defined(__cplusplus) && defined(__GNUC__)
// Don't define __in and __out because they conflict with libstdc++.
#else
#define __in
#define __out
#endif

--David



On Mon, May 29, 2017 at 12:43 PM, Jacek Caban <[email protected]> wrote:
> I've seen a very good news that a fix to libstdc++ is on its way and that's
> great. However, we need to support already released versions as well. That's
> why I propose this patch. Ideally, we'd use __GLIBCXX__ macro, but it's not
> available without including any standard header and sal.h is not a good
> place to do that. In the future, when libstdc++ is fixed, we may change
> guards to be version-dependent.
>
> Signed-off-by: Jacek Caban <[email protected]>
> ---
>  mingw-w64-headers/include/sal.h | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
>
>
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Mingw-w64-public mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
>

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to