From 4c4d44d92d418ab5cc019b2851990543fcf8f428 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Tue, 12 May 2015 22:25:31 +0200 Subject: Testcase for ticket 59. --- testsuite/gna/ticket59/bug.vhdl | 49 +++++++++++++++++++++++++++++++++++++ testsuite/gna/ticket59/testsuite.sh | 10 ++++++++ 2 files changed, 59 insertions(+) create mode 100644 testsuite/gna/ticket59/bug.vhdl create mode 100755 testsuite/gna/ticket59/testsuite.sh (limited to 'testsuite') diff --git a/testsuite/gna/ticket59/bug.vhdl b/testsuite/gna/ticket59/bug.vhdl new file mode 100644 index 0000000..78bbc5e --- /dev/null +++ b/testsuite/gna/ticket59/bug.vhdl @@ -0,0 +1,49 @@ +package pkg is + type rec0_t is record + field0 : boolean; + end record; + + type rec1_t is record + field1 : boolean; + end record; + + function fun(val : boolean) return rec0_t; + function fun(val : boolean) return rec1_t; + function fun(val : boolean) return boolean; + + procedure proc; +end package; + +package body pkg is + function fun(val : boolean) return rec0_t is + begin + return (field0 => val); + end function; + + function fun(val : boolean) return rec1_t is + begin + return (field1 => val); + end function; + + function fun(val : boolean) return boolean is + begin + return val; + end function; + + procedure proc is + begin + assert fun(true).field0; + assert fun(true).field1; + assert fun(true); + end procedure; + +end package body; + +entity ent is +end; + +architecture behav of ent is +begin + work.pkg.proc; +end behav; + diff --git a/testsuite/gna/ticket59/testsuite.sh b/testsuite/gna/ticket59/testsuite.sh new file mode 100755 index 0000000..f88c8c4 --- /dev/null +++ b/testsuite/gna/ticket59/testsuite.sh @@ -0,0 +1,10 @@ +#! /bin/sh + +. ../../testenv.sh + +analyze bug.vhdl +elab_simulate ent + +clean + +echo "Test successful" -- cgit