Commit c92b4508 authored by Tom Lane's avatar Tom Lane

Suppress definitions of 'true' and 'false' macros if __cplusplus.

Since we're assuming a C++ compiler knows what 'bool' is, seems we
should assume it knows 'true' and 'false' too.  This prevents problems
on some systems, per report from Leandro Fanzone.
parent 814f40cf
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* $Id: c.h,v 1.100 2001/08/24 22:46:28 petere Exp $ * $Id: c.h,v 1.101 2001/08/27 23:02:25 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -133,10 +133,13 @@ ...@@ -133,10 +133,13 @@
* Section 2: bool, true, false, TRUE, FALSE, NULL * Section 2: bool, true, false, TRUE, FALSE, NULL
* ---------------------------------------------------------------- * ----------------------------------------------------------------
*/ */
/* /*
* bool * bool
* Boolean value, either true or false. * Boolean value, either true or false.
* *
* XXX for C++ compilers, we assume the compiler has a compatible
* built-in definition of bool.
*/ */
/* BeOS defines bool already, but the compiler chokes on the /* BeOS defines bool already, but the compiler chokes on the
...@@ -145,11 +148,10 @@ ...@@ -145,11 +148,10 @@
#ifndef __BEOS__ #ifndef __BEOS__
#ifndef __cplusplus #ifndef __cplusplus
#ifndef bool #ifndef bool
typedef char bool; typedef char bool;
#endif
#endif /* ndef bool */
#endif /* not C++ */
#ifndef true #ifndef true
#define true ((bool) 1) #define true ((bool) 1)
...@@ -159,6 +161,8 @@ typedef char bool; ...@@ -159,6 +161,8 @@ typedef char bool;
#define false ((bool) 0) #define false ((bool) 0)
#endif #endif
#endif /* not C++ */
#endif /* __BEOS__ */ #endif /* __BEOS__ */
typedef bool *BoolPtr; typedef bool *BoolPtr;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment