aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/sparsec
diff options
Diffstat (limited to 'sparsec')
-rwxr-xr-xsparsec31
1 files changed, 31 insertions, 0 deletions
diff --git a/sparsec b/sparsec
new file mode 100755
index 00000000..5ae4bb8d
--- /dev/null
+++ b/sparsec
@@ -0,0 +1,31 @@
+#!/bin/sh
+#
+# GCC compatible C compiler based on Sparse LLVM
+
+SPARSEOPTS=""
+ASOPTS=""
+DIRNAME=`dirname $0`
+
+use_gcc=1
+
+while [ $# -gt 0 ]; do
+ case $1 in
+ '-o')
+ ASOPTS=$ASOPTS"-o "$2" "
+ shift
+ ;;
+ '-c')
+ use_gcc=0
+ ;;
+ *)
+ SPARSEOPTS="$SPARSEOPTS $1 " ;;
+ esac
+ shift
+done
+
+if [ $use_gcc -eq 1 ]; then
+ gcc $ASOPTS $SPARSEOPTS
+
+else
+ sparse-llvm $SPARSEOPTS | llc | as $ASOPTS
+fi