From 32f875f765fabc0a9d4f9642b2d21e8f3b263784 Mon Sep 17 00:00:00 2001 From: David Mak Date: Tue, 3 Oct 2023 11:54:34 +0800 Subject: [PATCH] standalone: Add flags to control demo output options --- nac3standalone/demo/check_demo.sh | 4 ++-- nac3standalone/demo/run_demo.sh | 30 +++++++++++++++++++++++++++-- nac3standalone/demo/run_demo_lli.sh | 30 +++++++++++++++++++++++++++-- 3 files changed, 58 insertions(+), 6 deletions(-) diff --git a/nac3standalone/demo/check_demo.sh b/nac3standalone/demo/check_demo.sh index bcf9a69..2f840bf 100755 --- a/nac3standalone/demo/check_demo.sh +++ b/nac3standalone/demo/check_demo.sh @@ -12,8 +12,8 @@ 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 +./run_demo.sh --redirect-exe-stdout --suppress-nac3-warnings "$@" "$demo" +./run_demo_lli.sh --redirect-exe-stdout --suppress-nac3-warnings "$@" "$demo" diff -Nau interpreted.log run.log diff -Nau interpreted.log run_lli.log echo "ok" diff --git a/nac3standalone/demo/run_demo.sh b/nac3standalone/demo/run_demo.sh index cffa79e..1d8d850 100755 --- a/nac3standalone/demo/run_demo.sh +++ b/nac3standalone/demo/run_demo.sh @@ -7,6 +7,22 @@ if [ -z "$1" ]; then exit 1 fi +declare -a nac3args +while [ $# -ge 1 ]; do + case "$1" in + --redirect-exe-stdout) + redirect_exe_stdout=1 + ;; + --suppress-nac3-warnings) + suppress_nac3_warnings=1 + ;; + *) + nac3args+=("$1") + ;; + esac + shift +done + if [ -e ../../target/release/nac3standalone ]; then nac3standalone=../../target/release/nac3standalone else @@ -16,7 +32,17 @@ fi rm -f "*.o" demo -$nac3standalone "$@" +if [ -z "$suppress_nac3_warnings" ]; then + $nac3standalone "${nac3args[@]}" +else + $nac3standalone "${nac3args[@]}" >/dev/null +fi + clang -c -std=gnu11 -Wall -Wextra -O3 -o demo.o demo.c clang -o demo module.o demo.o -./demo + +if [ -z "$redirect_exe_stdout" ]; then + ./demo +else + ./demo > run.log +fi diff --git a/nac3standalone/demo/run_demo_lli.sh b/nac3standalone/demo/run_demo_lli.sh index 6efd4f5..f6ceace 100755 --- a/nac3standalone/demo/run_demo_lli.sh +++ b/nac3standalone/demo/run_demo_lli.sh @@ -7,6 +7,22 @@ if [ -z "$1" ]; then exit 1 fi +declare -a nac3args +while [ $# -ge 1 ]; do + case "$1" in + --redirect-exe-stdout) + redirect_exe_stdout=1 + ;; + --suppress-nac3-warnings) + suppress_nac3_warnings=1 + ;; + *) + nac3args+=("$1") + ;; + esac + shift +done + if [ -e ../../target/release/nac3standalone ]; then nac3standalone=../../target/release/nac3standalone else @@ -16,6 +32,16 @@ fi rm -f "*.o" "*.bc" demo -$nac3standalone --emit-llvm "$@" +if [ -z "$suppress_nac3_warnings" ]; then + $nac3standalone --emit-llvm "${nac3args[@]}" +else + $nac3standalone --emit-llvm "${nac3args[@]}" >/dev/null +fi + clang -c -std=gnu11 -Wall -Wextra -O3 -emit-llvm -o demo.bc demo.c -lli --extra-module demo.bc --extra-module irrt.bc main.bc + +if [ -z "$redirect_exe_stdout" ]; then + lli --extra-module demo.bc --extra-module irrt.bc main.bc +else + lli --extra-module demo.bc --extra-module irrt.bc main.bc > run_lli.log +fi