on master help sign in
Null pointer FFI test
commit2c31e8e4478d451a7b1b0a248f5ddd50a2101b23 authorEdward Amsden <edward@edwardamsden.com> dateTue 5 Nov 2013, 14:38 (13 years ago) parentffe8706
5 files changed+32
test/test033/expected+1 test/test033/run+5 test/test033/test033.c+10 test/test033/test033.h+6 test/test033/test033.idr+10
test/test033/expectednew file+1
@@ -0,0 +1 @@
1+0
test/test033/runnew file+5
@@ -0,0 +1,5 @@
1+#!/bin/bash
2+gcc -c test033.c
3+idris -o test033 test033.idr
4+./test033
5+rm -f *.ibc *.o test033
test/test033/test033.cnew file+10
@@ -0,0 +1,10 @@
1+#include "test033.h"
2+#include <stddef.h>
3+
4+int testNull(void* p) {
5+ if(p == NULL) {
6+ return 0;
7+ }
8+ return 1;
9+}
10+
test/test033/test033.hnew file+6
@@ -0,0 +1,6 @@
1+#ifndef __TEST033_H__
2+#define __TEST033_H__
3+
4+int testNull(void*);
5+
6+#endif
test/test033/test033.idrnew file+10
@@ -0,0 +1,10 @@
1+module Main
2+
3+%include C "test033.h"
4+%link C "test033.o"
5+
6+testNull : Ptr -> IO Int
7+testNull p = mkForeign (FFun "testNull" [FPtr] FInt) p
8+
9+main : IO ()
10+main = testNull null >>= (putStrLn . show)