summaryrefslogtreecommitdiff
path: root/compiler.h
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2007-10-10 14:58:45 -0700
committerH. Peter Anvin <hpa@zytor.com>2007-10-10 14:58:45 -0700
commit6867acc18ee541e361a5fa1e5a1bac3a478a3856 (patch)
treeb13b49a2e8227469c3eb7cb983e4b2bb27868466 /compiler.h
parentbe1b83d24aee03d29913957fdba40cf7a268e660 (diff)
downloadnasm-6867acc18ee541e361a5fa1e5a1bac3a478a3856.tar.gz
Use the compiler-provided booleans if available, otherwise emulate
Both C and C++ have "bool", "true" and "false" in lower case; C requires <stdbool.h> for this, in C++ it is an inherent type built into the compiler. Use those instead of the old macros; emulate with a simple typedef enum if unavailable.
Diffstat (limited to 'compiler.h')
-rw-r--r--compiler.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/compiler.h b/compiler.h
index 5f35490e..3b36e97a 100644
--- a/compiler.h
+++ b/compiler.h
@@ -60,4 +60,12 @@ int vsnprintf(char *, size_t, const char *, va_list);
# endif
#endif
+#ifndef __cplusplus /* C++ has false, true, bool as keywords */
+# ifdef HAVE_STDBOOL_H
+# include <stdbool.h>
+# else
+typedef enum { false, true } bool;
+# endif
+#endif
+
#endif /* NASM_COMPILER_H */