aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2020-07-05 16:20:58 +0200
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2020-07-13 17:49:55 +0200
commit30682796740c21b48f99125f3aa9e067ebdd6b7d (patch)
tree55ed5d7bef01f0c6d9a2621c9b189f9d9aa5f589
parentaec42aa3b2ada060b638825e8879374a0760efa6 (diff)
downloadsparse-30682796740c21b48f99125f3aa9e067ebdd6b7d.tar.gz
arch: add predefines for OS identification
Predefine macros like '__OpenBSD__', ... for the three BSDs, CygWin and Darwin (those for Linus and SunOS were already defined). Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
-rw-r--r--predefine.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/predefine.c b/predefine.c
index 7583b1af..0f36f7ef 100644
--- a/predefine.c
+++ b/predefine.c
@@ -217,10 +217,29 @@ void predefined_macros(void)
}
switch (arch_os) {
+ case OS_CYGWIN:
+ predefine("__CYGWIN__", 1, "1");
+ if (arch_m64 == ARCH_LP32)
+ predefine("__CYGWIN32__", 1, "1");
+ break;
+ case OS_DARWIN:
+ predefine("__APPLE__", 1, "1");
+ predefine("__APPLE_CC__", 1, "1");
+ predefine("__MACH__", 1, "1");
+ break;
+ case OS_FREEBSD:
+ predefine("__FreeBSD__", 1, "1");
+ break;
case OS_LINUX:
predefine("__linux__", 1, "1");
predefine("__linux", 1, "1");
break;
+ case OS_NETBSD:
+ predefine("__NetBSD__", 1, "1");
+ break;
+ case OS_OPENBSD:
+ predefine("__OpenBSD__", 1, "1");
+ break;
case OS_SUNOS:
predefine("__sun__", 1, "1");
predefine("__sun", 1, "1");