New testcase
authorChris Lattner <sabre@nondot.org>
Sat, 13 Nov 2004 22:21:15 +0000 (22:21 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 13 Nov 2004 22:21:15 +0000 (22:21 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17709 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/CBackend/2004-11-13-FunctionPointerCast.llx [new file with mode: 0644]

diff --git a/test/CodeGen/CBackend/2004-11-13-FunctionPointerCast.llx b/test/CodeGen/CBackend/2004-11-13-FunctionPointerCast.llx
new file mode 100644 (file)
index 0000000..2f02e65
--- /dev/null
@@ -0,0 +1,17 @@
+; The CBE should not emit code that casts the function pointer.  This causes
+; GCC to get testy and insert trap instructions instead of doing the right
+; thing. :(
+; RUN: llvm-as < %s | llc -march=c | not grep 'external)'
+
+implementation
+
+declare void %external(sbyte*)
+
+int %test(int *%X) {
+       %RV = call int (int*)* cast (void(sbyte*)* %external to int(int*)*)(int* %X)
+       ret int %RV
+}
+
+
+
+