aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/validation/linear/call-indirect.c
diff options
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2017-11-26 09:55:45 +0100
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2017-12-21 01:53:51 +0100
commitfd02a4ef554a61f30bdb7b90c729ef5bd6a1b0dc (patch)
tree0c1dbd7b8c19a9e125c88affb43a6f80f977bda3 /validation/linear/call-indirect.c
parent178f19ad47c916ce02b286ec9cf831950340a4ac (diff)
downloadsparse-dev-fd02a4ef554a61f30bdb7b90c729ef5bd6a1b0dc.tar.gz
add testcases for the linearization of calls
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Diffstat (limited to 'validation/linear/call-indirect.c')
-rw-r--r--validation/linear/call-indirect.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/validation/linear/call-indirect.c b/validation/linear/call-indirect.c
new file mode 100644
index 00000000..8ab78676
--- /dev/null
+++ b/validation/linear/call-indirect.c
@@ -0,0 +1,14 @@
+int gg(int (*fun)(void)) { return fun(); }
+
+int g0(int (*fun)(void)) { return (fun)(); }
+int g1(int (*fun)(void)) { return (*fun)(); } // C99,C11 6.5.3.2p4
+
+/*
+ * check-name: indirect calls
+ * check-command: test-linearize -Wno-decl $file
+ * check-known-to-fail
+ *
+ * check-output-ignore
+ * check-output-excludes: load
+ * check-output-pattern(3): call\..* %arg1
+ */