diff options
author | Tristan Gingold <tgingold@free.fr> | 2017-08-07 10:18:54 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2017-08-16 07:52:15 +0200 |
commit | 200e893607444cb3fe2a355430767215bee8fe70 (patch) | |
tree | 0df242f6038b39ad57714645b199fa751037cb9e /testsuite | |
parent | b32550b2e7e992eac6d4d5a3c6c35451474d3eff (diff) | |
download | ghdl-200e893607444cb3fe2a355430767215bee8fe70.tar.gz ghdl-200e893607444cb3fe2a355430767215bee8fe70.tar.bz2 ghdl-200e893607444cb3fe2a355430767215bee8fe70.zip |
Add testcase for #397
Diffstat (limited to 'testsuite')
-rw-r--r-- | testsuite/gna/issue397/e.vhdl | 26 | ||||
-rwxr-xr-x | testsuite/gna/issue397/testsuite.sh | 10 |
2 files changed, 36 insertions, 0 deletions
diff --git a/testsuite/gna/issue397/e.vhdl b/testsuite/gna/issue397/e.vhdl new file mode 100644 index 000000000..c617150bb --- /dev/null +++ b/testsuite/gna/issue397/e.vhdl @@ -0,0 +1,26 @@ +entity bug is +end entity; + +architecture a of bug is +begin + main : process + type rec_t is record + field : natural; + end record; + + impure function get_rec return rec_t is + begin + return (field => 10); + end; + + -- Comment out this procedure to avoid the crash + procedure get_rec(variable rec : out rec_t) is + begin + rec := get_rec; + end; + + begin + assert get_rec.field = 10 severity failure; + wait; + end process; +end; diff --git a/testsuite/gna/issue397/testsuite.sh b/testsuite/gna/issue397/testsuite.sh new file mode 100755 index 000000000..854e53f9b --- /dev/null +++ b/testsuite/gna/issue397/testsuite.sh @@ -0,0 +1,10 @@ +#! /bin/sh + +. ../../testenv.sh + +analyze e.vhdl +elab_simulate bug + +clean + +echo "Test successful" |