aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/validation/backend
diff options
authorLuc Van Oostenryck <lucvoo@kernel.org>2024-01-20 01:24:12 +0100
committerLuc Van Oostenryck <lucvoo@kernel.org>2024-01-20 01:25:28 +0100
commitd7edb6c7b7c62db1a328fd88f7888324293b005c (patch)
treee690670840f9b8c049d5302598efe9e566a19adf /validation/backend
parent453d7af76abaef3de7934bf7159443103cc56f6b (diff)
downloadsparse-dev-d7edb6c7b7c62db1a328fd88f7888324293b005c.tar.gz
llvm: add a few testcases for integer/pointer conversion
Signed-off-by: Luc Van Oostenryck <lucvoo@kernel.org>
Diffstat (limited to 'validation/backend')
-rw-r--r--validation/backend/cast.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/validation/backend/cast.c b/validation/backend/cast.c
index f4122409..9dfa6da5 100644
--- a/validation/backend/cast.c
+++ b/validation/backend/cast.c
@@ -6,10 +6,12 @@ typedef unsigned int uint;
typedef unsigned long ulong;
typedef long long longlong;
typedef unsigned long long ulonglong;
+typedef void *vptr;
+typedef int *iptr;
#define DEFINE_CAST(from, to) \
static to from##2##to(from x) { \
- return x; \
+ return (to)x; \
}
#define DEFINE_CASTS(from) \
@@ -43,6 +45,13 @@ DEFINE_CASTS(ulonglong)
DEFINE_CASTS(float)
DEFINE_CASTS(double)
+DEFINE_CAST(long, vptr)
+DEFINE_CAST(long, iptr)
+DEFINE_CAST(vptr, long)
+DEFINE_CAST(iptr, long)
+DEFINE_CAST(int, vptr)
+DEFINE_CAST(vptr, int)
+
/*
* check-name: Cast code generation
* check-command: sparsec -c $file -o tmp.o