From 9e17fac1d02ba0e4b835fcc7c2b101f4aa92d471 Mon Sep 17 00:00:00 2001 From: David Mak Date: Fri, 29 Sep 2023 15:18:00 +0800 Subject: [PATCH] standalone: Add execution of test cases via lli --- nac3standalone/demo/check_demo.sh | 2 ++ nac3standalone/demo/run_demo_lli.sh | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100755 nac3standalone/demo/run_demo_lli.sh diff --git a/nac3standalone/demo/check_demo.sh b/nac3standalone/demo/check_demo.sh index 5ea8e18..31fbbac 100755 --- a/nac3standalone/demo/check_demo.sh +++ b/nac3standalone/demo/check_demo.sh @@ -13,5 +13,7 @@ set -- "${@:1:$(($# - 1))}" echo -n "Checking $demo... " ./interpret_demo.py "$demo" > interpreted.log ./run_demo.sh "$@" "$demo" > run.log +./run_demo_lli.sh "$@" "$demo" > run_lli.log diff -Nau interpreted.log run.log +diff -Nau interpreted.log run_lli.log echo "ok" diff --git a/nac3standalone/demo/run_demo_lli.sh b/nac3standalone/demo/run_demo_lli.sh new file mode 100755 index 0000000..cda3ee9 --- /dev/null +++ b/nac3standalone/demo/run_demo_lli.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + +set -e + +if [ -z "$1" ]; then + echo "No argument supplied" + exit 1 +fi + +if [ -e ../../target/release/nac3standalone ]; then + nac3standalone=../../target/release/nac3standalone +else + # used by Nix builds + nac3standalone=../../target/x86_64-unknown-linux-gnu/release/nac3standalone +fi + +rm -f "*.o" "*.bc" demo + +$nac3standalone --emit-llvm "$@" +clang -S -std=gnu11 -Wall -Wextra -O3 -emit-llvm -o demo.bc demo.c +clang -S -std=gnu11 -Wall -Wextra -O3 -emit-llvm -o irrt.bc ../../nac3core/src/codegen/irrt/irrt.c +lli --extra-module demo.bc --extra-module irrt.bc main.bc