diff options
author | Tristan Gingold <tgingold@free.fr> | 2014-12-21 07:38:33 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2014-12-21 07:38:33 +0100 |
commit | 9a0c4d848946d6057722ca423d6096e20731404a (patch) | |
tree | 7e46ebac9e5a0f9c231b1390769df42e34927f71 | |
parent | 17d4852b72d3b488cb3aaacf5fe3767f56a8c089 (diff) | |
download | ghdl-9a0c4d848946d6057722ca423d6096e20731404a.tar.gz ghdl-9a0c4d848946d6057722ca423d6096e20731404a.tar.bz2 ghdl-9a0c4d848946d6057722ca423d6096e20731404a.zip |
vcd/fst: handle complex signals. Fix crash.
-rw-r--r-- | src/grt/grt-vcd.adb | 4 | ||||
-rw-r--r-- | testsuite/testenv.sh | 5 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/grt/grt-vcd.adb b/src/grt/grt-vcd.adb index de8b99f8c..9cdc1009a 100644 --- a/src/grt/grt-vcd.adb +++ b/src/grt/grt-vcd.adb @@ -315,6 +315,10 @@ package body Grt.Vcd is Rti := Avhpi_Get_Rti (Sig_Type); Sig_Addr := Avhpi_Get_Address (Sig); + if Rti_Complex_Type (Rti) then + Sig_Addr := To_Addr_Acc (Sig_Addr).all; + end if; + Info.Kind := Vcd_Bad; case Rti.Kind is when Ghdl_Rtik_Type_B1 diff --git a/testsuite/testenv.sh b/testsuite/testenv.sh index 18ea18fd2..ed19a398b 100644 --- a/testsuite/testenv.sh +++ b/testsuite/testenv.sh @@ -22,6 +22,11 @@ GET_ENTITIES=../get_entities # Exit in case of failure in shell scripts. set -e +if [ x$GHDL = x ]; then + echo "error: GHDL environment variable is not defined" + exit 4 +fi + # Analyze files (no error expected) analyze () { |