On 05/31/2016 12:33 AM, David Seifert wrote:
configure.ac:
AC_INIT
AC_PROG_CXX
m4_include([stdbool.m4])
AC_LANG_PUSH([C++])
AC_CHECK_HEADER_STDBOOL
Thanks for the example. I installed your patch into gnulib. But I don't
see how it can work without __bool_true_false_are_defined being defined,
so I installed the attached additional patch as well. Please let us know
if you see a problem with this.
CC:ing autoconf-patches@gnu.org since I installed a patch there too, to
match.
From cb7476a1db148980b8cff02824774598ffaea8ce Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Tue, 31 May 2016 09:03:15 -0700
Subject: [PATCH] stdbool: Restore __bool_true_false_are_defined check
* m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL):
__bool_true_false_are_defined is still defined, even with C++11.
---
ChangeLog | 6 ++++++
m4/stdbool.m4 | 9 +++++----
2 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 02a7c86..a6df98a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2016-05-31 Paul Eggert <eggert@cs.ucla.edu>
+
+ stdbool: Restore __bool_true_false_are_defined check
+ * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL):
+ __bool_true_false_are_defined is still defined, even with C++11.
+
2016-05-31 David Seifert <soap@gentoo.org> (tiny change)
stdbool: Port AC_CHECK_HEADER_STDBOOL to C++11
diff --git a/m4/stdbool.m4 b/m4/stdbool.m4
index 0863847..a556153 100644
--- a/m4/stdbool.m4
+++ b/m4/stdbool.m4
@@ -44,7 +44,7 @@ AC_DEFUN([AC_CHECK_HEADER_STDBOOL],
[[
#include <stdbool.h>
- #if __cplusplus < 201103L
+ #if __cplusplus < 201103
#ifndef bool
"error: bool is not defined"
#endif
@@ -60,9 +60,10 @@ AC_DEFUN([AC_CHECK_HEADER_STDBOOL],
#if true != 1
"error: true is not 1"
#endif
- #ifndef __bool_true_false_are_defined
- "error: __bool_true_false_are_defined is not defined"
- #endif
+ #endif
+
+ #ifndef __bool_true_false_are_defined
+ "error: __bool_true_false_are_defined is not defined"
#endif
struct s { _Bool s: 1; _Bool t; } s;
--
2.5.5