about summary refs log tree commit diff homepage
path: root/test/regression/2007-08-01-bool-zext-in-call.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/regression/2007-08-01-bool-zext-in-call.ll')
-rw-r--r--test/regression/2007-08-01-bool-zext-in-call.ll22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/regression/2007-08-01-bool-zext-in-call.ll b/test/regression/2007-08-01-bool-zext-in-call.ll
new file mode 100644
index 00000000..3f3e26ab
--- /dev/null
+++ b/test/regression/2007-08-01-bool-zext-in-call.ll
@@ -0,0 +1,22 @@
+; RUN: llvm-as -f %s -o - | %klee 2> %t1.log
+; RUN: not test -f klee-last/test0001.abort.err
+
+declare void @klee_abort()
+
+define i32 @foo(i8 signext %val) {
+        %tmp = zext i8 %val to i32
+	ret i32 %tmp
+}
+
+define i32 @main() {
+	%res = call i32 bitcast (i32 (i8 signext)* @foo to i32 (i1)*)( i1 1 )
+        %check = icmp ne i32 %res, 255
+        br i1 %check, label %error, label %exit
+
+error:
+        call void @klee_abort()
+        unreachable
+
+exit:
+	ret i32 0
+}