summaryrefslogtreecommitdiff
path: root/m4/stdbool.m4
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2005-12-13 19:41:57 +0000
committerPaul Eggert <eggert@cs.ucla.edu>2005-12-13 19:41:57 +0000
commiteaebfec990d331f44b527fda650dcf68197a5043 (patch)
tree50aacf15ea249c8ab869e773b3de564397e1c5c9 /m4/stdbool.m4
parenta867264a1805535be9e65cfa9ed1b425bf227904 (diff)
downloadcoreutils-eaebfec990d331f44b527fda650dcf68197a5043.tar.xz
(AC_HEADER_STDBOOL): Check for buggy compiler that
has _Bool but mishandles _Bool |= _Bool.
Diffstat (limited to 'm4/stdbool.m4')
-rw-r--r--m4/stdbool.m46
1 files changed, 5 insertions, 1 deletions
diff --git a/m4/stdbool.m4 b/m4/stdbool.m4
index 59d38e075..86ae312d4 100644
--- a/m4/stdbool.m4
+++ b/m4/stdbool.m4
@@ -83,11 +83,15 @@ AC_DEFUN([AC_HEADER_STDBOOL],
char digs[] = "0123456789";
int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1);
#endif
+ _Bool q = true;
+ _Bool *pq = &q;
],
[
+ *pq |= q;
+ *pq |= ! q;
/* Refer to every declared value, to avoid compiler optimizations. */
return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l
- + !m + !n + !o + !p);
+ + !m + !n + !o + !p + !q + !pq);
],
[ac_cv_header_stdbool_h=yes],
[ac_cv_header_stdbool_h=no])])