From f7ececd879b731194f64123f746ac49b7781fc68 Mon Sep 17 00:00:00 2001 From: Kai Gunger Date: Wed, 8 Jul 2026 02:14:13 -0400 Subject: [tnslc] fixes for stack location when returning structs --- tnslc/run.sh | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) (limited to 'tnslc/run.sh') diff --git a/tnslc/run.sh b/tnslc/run.sh index 8010ab6..a8cf594 100755 --- a/tnslc/run.sh +++ b/tnslc/run.sh @@ -1,5 +1,26 @@ #!/bin/bash -DIR_L=$(pwd) +BUILD_DIR=./out/NEXT +ARTIFACT_DIR=$BUILD_DIR/artifacts + +mkdir -p $BUILD_DIR +mkdir -p $ARTIFACT_DIR +filename=$1 +filename="${filename%.*}" + +./out/tnslc $filename.tnsl + +if [ $? -ne 0 ]; then + exit $? +fi + +mv out.asm $ARTIFACT_DIR/$filename.asm + +nasm -g -f elf64 -o $ARTIFACT_DIR/$filename.o $ARTIFACT_DIR/$filename.asm + +if [ $? -ne 0 ]; then + exit $? +fi + +gcc -ggdb -o $BUILD_DIR/$filename $ARTIFACT_DIR/$filename.o -$DIR_L/out/tnslc $1 -- cgit v1.2.3