diff options
Diffstat (limited to 'sparsec')
| -rwxr-xr-x | sparsec | 31 |
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 |
