aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/validation/backend
diff options
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2017-03-20 17:50:39 +0100
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2017-11-17 10:04:37 +0100
commit23246ed6db3c65cc92d028fdde261ce97bd6dc54 (patch)
treeb4c06fa76e370506b805d40b4e3414fb504bae90 /validation/backend
parent6877ef587143925e2e63f9eb212a2a41d6f38041 (diff)
downloadsparse-dev-23246ed6db3c65cc92d028fdde261ce97bd6dc54.tar.gz
llvm: fix get value from non-anonymous symbol
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Diffstat (limited to 'validation/backend')
-rw-r--r--validation/backend/load-global.c21
-rw-r--r--validation/backend/string-value.c21
2 files changed, 42 insertions, 0 deletions
diff --git a/validation/backend/load-global.c b/validation/backend/load-global.c
new file mode 100644
index 00000000..dedb35f3
--- /dev/null
+++ b/validation/backend/load-global.c
@@ -0,0 +1,21 @@
+const char *s = "abc";
+int x = 4;
+int y;
+
+int *p = &x;
+int *q;
+
+int loadn(void) { return y; }
+int loadi(void) { return x; }
+
+const char *loads(void) { return s; }
+
+int *retpn(void) { return q; }
+int loadpn(void) { return *q; }
+int *retpi(void) { return p; }
+int loadpi(void) { return *p; }
+
+/*
+ * check-name: use simple value from global vars
+ * check-command: ./sparsec -Wno-decl -c $file -o tmp.o
+ */
diff --git a/validation/backend/string-value.c b/validation/backend/string-value.c
new file mode 100644
index 00000000..8cdec4a2
--- /dev/null
+++ b/validation/backend/string-value.c
@@ -0,0 +1,21 @@
+extern void use(const char *);
+
+const char *ret(void)
+{
+ return "abc";
+}
+
+const char *add(void)
+{
+ return "def" + 1;
+}
+
+void call(void)
+{
+ use("ijk");
+}
+
+/*
+ * check-name: string-value
+ * check-command: ./sparsec -Wno-decl -c $file -o tmp.o
+ */