aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/gna/issue400/e.vhdl
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/gna/issue400/e.vhdl')
-rw-r--r--testsuite/gna/issue400/e.vhdl17
1 files changed, 17 insertions, 0 deletions
diff --git a/testsuite/gna/issue400/e.vhdl b/testsuite/gna/issue400/e.vhdl
new file mode 100644
index 000000000..7bebb2168
--- /dev/null
+++ b/testsuite/gna/issue400/e.vhdl
@@ -0,0 +1,17 @@
+entity e is end entity;
+architecture a of e is
+ type p is protected
+ function f(a:bit) return boolean;
+ end protected;
+ type p is protected body
+ function f(a:bit) return boolean is begin return a='1'; end function;
+ end protected body;
+ shared variable v :p;
+ component bb1 is port( s :out bit ); end component;
+ component bb2 is port( s :in boolean ); end component;
+ signal s1 :boolean;
+ signal s2 :bit;
+begin
+ i1: component bb1 port map( v.f(s) => s1 );
+ i2: component bb2 port map( s => v.f(s2) );
+end architecture;