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.
This commit is contained in:
Tom Lane 2001-08-27 23:02:25 +00:00
parent 814f40cf43
commit c92b450891

@ -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 @@
* 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 @@
#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;
#define false ((bool) 0) #define false ((bool) 0)
#endif #endif
#endif /* not C++ */
#endif /* __BEOS__ */ #endif /* __BEOS__ */
typedef bool *BoolPtr; typedef bool *BoolPtr;