diff options
author | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2020-10-08 23:30:11 +0200 |
---|---|---|
committer | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2020-10-19 18:07:33 +0200 |
commit | cf8f104749f5bca36852989297af8cc19ff24d5f (patch) | |
tree | 6c7cfdd3200e0bc7dd57249348229da7072b9d0f | |
parent | 2220ca2b32647417d193ecbb7bd7001599ecf01e (diff) | |
download | sparse-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.c | 7 |
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"); |