aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2020-10-13 01:15:34 +0200
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2020-10-14 17:48:17 +0200
commit7680a83e76681af80b120da09ededa36bba49ea2 (patch)
tree7dd0bd914d0b94248deb80948aa4605595078a3a
parent617e82a88719c44fff3753aaabedb3114823a034 (diff)
downloadsparse-7680a83e76681af80b120da09ededa36bba49ea2.tar.gz
builtin: add builtin type for volatile void *
This is the type of most __sync_* or __atomic_* builtins. Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
-rw-r--r--symbol.c3
-rw-r--r--symbol.h1
2 files changed, 4 insertions, 0 deletions
diff --git a/symbol.c b/symbol.c
index 5e7f0796..ec514eb4 100644
--- a/symbol.c
+++ b/symbol.c
@@ -805,6 +805,7 @@ struct symbol float128_ctype;
struct symbol const_void_ctype, const_char_ctype;
struct symbol const_ptr_ctype, const_string_ctype;
struct symbol const_wchar_ctype, const_wstring_ctype;
+struct symbol volatile_void_ctype, volatile_ptr_ctype;
struct symbol zero_int;
@@ -909,6 +910,8 @@ static const struct ctype_declare {
{ &const_void_ctype, T_CONST(&void_ctype, NULL, NULL) },
{ &const_char_ctype, T_CONST(&char_ctype, &bits_in_char, &max_int_alignment)},
{ &const_wchar_ctype, T_CONST(&int_ctype, NULL, NULL) },
+ { &volatile_void_ctype,T_NODE(MOD_VOLATILE, &void_ctype, NULL, NULL) },
+ { &volatile_ptr_ctype, T_PTR(&volatile_void_ctype) },
{ NULL, }
};
diff --git a/symbol.h b/symbol.h
index e75ea3ab..97c608e8 100644
--- a/symbol.h
+++ b/symbol.h
@@ -310,6 +310,7 @@ extern struct symbol float128_ctype;
extern struct symbol const_void_ctype, const_char_ctype;
extern struct symbol const_ptr_ctype, const_string_ctype;
extern struct symbol const_wchar_ctype, const_wstring_ctype;
+extern struct symbol volatile_void_ctype, volatile_ptr_ctype;
/* Special internal symbols */
extern struct symbol zero_int;