]> Savannah Git Hosting - gnulib.git/commitdiff
stdbool: Fix compilation error in C++ mode with MSVC 14.
authorBruno Haible <bruno@clisp.org>
Sun, 4 Sep 2022 14:24:56 +0000 (16:24 +0200)
committerBruno Haible <bruno@clisp.org>
Sun, 4 Sep 2022 14:24:56 +0000 (16:24 +0200)
* lib/stdbool.in.h (_Bool, bool, false, true): In C++ mode with MSVC 14,
don't define these as macros.

ChangeLog
lib/stdbool.in.h

index 935d1b156b30ac8b523e5a99db855e5f9b5cbd1d..5799cfef35af64a621b26418d53f941da9b0d04b 100644 (file)
--- 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.
index 2fa46724b2a09948ef910a0482112f2c0faa5e09..36f26560af4f07b3879a8ce758dcf44ca62aac9b 100644 (file)
 /* 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