* as/link/lkar.h: sgetl and sputl are independent of endianness
[fw/sdcc] / device / include / stdbool.h
index 8b9beecd21e0025b63c0c7a272703742285ac034..216eb8b4a6f3b0a8915c83b8008620adbd8ea7b3 100644 (file)
 #ifndef __SDC51_STDBOOL_H
 #define __SDC51_STDBOOL_H 1
 
-#define _Bool bit
-
-#define bool _Bool
 #define true 1
 #define false 0
-#define __bool_true_false_are_defined 1
 
-#if defined (SDCC_STACK_AUTO) || defined (SDCC_hc08) || defined (SDCC_z80)
- //as long as bit/bool cannot be used reentrant
+/* Only define bool for ports that really support it to the full extend.
+   For other ports only define BOOL which can be used in most cases,
+   but can result in unexpected behaviour */
+
+#if defined (SDCC_hc08) || defined (SDCC_z80) || defined (SDCC_gbz80) || defined (SDCC_pic14) || defined (SDCC_pic16)
  #define BOOL char
 #else
- #define BOOL bit
+ #define _Bool __bit
+ #define BOOL  __bit
+ #define bool  _Bool
+ #define __bool_true_false_are_defined 1
 #endif
 
 #endif