fix(qbe): any-child terminator check in QBE_IsTerminator for hBlock — QBE SSA now fully valid
- QBE_IsTerminator(hBlock) checks ALL children, not just last - Removed legacy c_backend.bux and nim_backend.bux from _selfhost/src/ - QBE self-hosting QBE phase: PASSES (SSA valid, assembled to .s) - Remaining: linker errors from missing String_Eq/StringBuilder in runtime
This commit is contained in:
+44
@@ -0,0 +1,44 @@
|
||||
#!/bin/sh
|
||||
|
||||
DIR=`cd $(dirname $0); pwd`
|
||||
QBE=$DIR/../qbe
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "usage: mcc [LDFLAGS] file.c" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
for i
|
||||
do
|
||||
case $i in
|
||||
-*)
|
||||
flags="$flags $i"
|
||||
;;
|
||||
*)
|
||||
if ! test -z $file
|
||||
then
|
||||
usage
|
||||
fi
|
||||
file=$i
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if test -z $file
|
||||
then
|
||||
usage
|
||||
fi
|
||||
|
||||
|
||||
$DIR/minic < $file > /tmp/minic.ssa &&
|
||||
$QBE < /tmp/minic.ssa > /tmp/minic.s &&
|
||||
cc /tmp/minic.s $flags
|
||||
|
||||
if test $? -ne 0
|
||||
then
|
||||
echo "error processing file $file" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user