3 ms·
I like lli for quickly running some code (no temporaries!) $ clang -xc -c -emit-llvm -o - - | lli #include <stdio.h> int main(void) { puts(
by 0x09 12y ago
I like lli for quickly running some code (no temporaries!)
$ clang -xc -c -emit-llvm -o - - | lli
#include <stdio.h>
int main(void) {
puts("hi");
}^D
hi
As a shell executable interpreter
#!/usr/bin/env bash
[ -f "$1" ] && file="$1" || file=/dev/stdin
awk 'NR==1&&/^#!/{next}{print}' "$file" | \
clang -xc -c -emit-llvm $CFLAGS -o - - | \
lli -fake-argv0="$file" $IFLAGS -
You can even "link" static archives
$ IFLAGS=-extra-archive=/path/to/libz.a \
> CFLAGS+='-include stdio.h -include zlib.h' \
> c <<< 'int main(void){puts(zlibVersion());}'
1.2.8