--- handy.h.orig +++ handy.h @@ -77,41 +77,8 @@ Null SV pointer. (No longer available wh # endif #endif -/* bool is built-in for g++-2.6.3 and later, which might be used - for extensions. <_G_config.h> defines _G_HAVE_BOOL, but we can't - be sure _G_config.h will be included before this file. _G_config.h - also defines _G_HAVE_BOOL for both gcc and g++, but only g++ - actually has bool. Hence, _G_HAVE_BOOL is pretty useless for us. - g++ can be identified by __GNUG__. - Andy Dougherty February 2000 -*/ -#ifdef __GNUG__ /* GNU g++ has bool built-in */ -# ifndef HAS_BOOL -# define HAS_BOOL 1 -# endif -#endif - -/* The NeXT dynamic loader headers will not build with the bool macro - So declare them now to clear confusion. -*/ -#if defined(NeXT) || defined(__NeXT__) -# undef FALSE -# undef TRUE - typedef enum bool { FALSE = 0, TRUE = 1 } bool; -# define ENUM_BOOL 1 -# ifndef HAS_BOOL -# define HAS_BOOL 1 -# endif /* !HAS_BOOL */ -#endif /* NeXT || __NeXT__ */ - -#ifndef HAS_BOOL -# if defined(UTS) || defined(VMS) -# define bool int -# else -# define bool char -# endif -# define HAS_BOOL 1 -#endif +#define HAS_BOOL 1 +#include /* a simple (bool) cast may not do the right thing: if bool is defined * as char for example, then the cast from int is implementation-defined