From: Bruno Haible <bruno@clisp.org> Date: Sun, 4 Sep 2022 14:24:56 +0000 (+0200) Subject: stdbool: Fix compilation error in C++ mode with MSVC 14. X-Git-Tag: v1.0~2074 X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=99b0ab09036e16ad845438938d9b607f2d3f346a;p=gnulib.git stdbool: Fix compilation error in C++ mode with MSVC 14. * lib/stdbool.in.h (_Bool, bool, false, true): In C++ mode with MSVC 14, don't define these as macros. --- diff --git a/ChangeLog b/ChangeLog index 935d1b156b..5799cfef35 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2022-09-04 Bruno Haible <bruno@clisp.org> + + stdbool: Fix compilation error in C++ mode with MSVC 14. + * lib/stdbool.in.h (_Bool, bool, false, true): In C++ mode with MSVC 14, + don't define these as macros. + 2022-09-04 Bruno Haible <bruno@clisp.org> fts: Fix compilation error with MSVC 14. diff --git a/lib/stdbool.in.h b/lib/stdbool.in.h index 2fa46724b2..36f26560af 100644 --- a/lib/stdbool.in.h +++ b/lib/stdbool.in.h @@ -59,8 +59,10 @@ /* 7.16. Boolean type and values */ #ifdef __cplusplus -# define _Bool bool -# define bool bool +# if !defined _MSC_VER +# define _Bool bool +# define bool bool +# endif #else # if !defined __GNUC__ /* If @HAVE__BOOL@: @@ -103,8 +105,10 @@ typedef enum { _Bool_must_promote_to_int = -1, false = 0, true = 1 } _Bool; /* The other macros must be usable in preprocessor directives. */ #ifdef __cplusplus -# define false false -# define true true +# if !defined _MSC_VER +# define false false +# define true true +# endif #else # define false 0 # define true 1