aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2020-10-08 23:30:11 +0200
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2020-10-19 18:07:33 +0200
commitcf8f104749f5bca36852989297af8cc19ff24d5f (patch)
tree6c7cfdd3200e0bc7dd57249348229da7072b9d0f
parent2220ca2b32647417d193ecbb7bd7001599ecf01e (diff)
downloadsparse-cf8f104749f5bca36852989297af8cc19ff24d5f.tar.gz
builtin: add predefines for __ATOMIC_RELAXED & friends
The __atomic_*() builtins take an int argument to specify the desired memory ordering. The different admissible values are predefined by the compiler, so do that too for Sparse. Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
-rw-r--r--predefine.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/predefine.c b/predefine.c
index f898cdfa..98e38a04 100644
--- a/predefine.c
+++ b/predefine.c
@@ -179,6 +179,13 @@ void predefined_macros(void)
if (arch_target->has_int128)
predefined_sizeof("INT128", "", 128);
+ predefine("__ATOMIC_RELAXED", 0, "0");
+ predefine("__ATOMIC_CONSUME", 0, "1");
+ predefine("__ATOMIC_ACQUIRE", 0, "3");
+ predefine("__ATOMIC_RELEASE", 0, "4");
+ predefine("__ATOMIC_ACQ_REL", 0, "7");
+ predefine("__ATOMIC_SEQ_CST", 0, "8");
+
predefine("__ORDER_LITTLE_ENDIAN__", 1, "1234");
predefine("__ORDER_BIG_ENDIAN__", 1, "4321");
predefine("__ORDER_PDP_ENDIAN__", 1, "3412");