From 6c3f709174e8e4d5411f851cedb7d84c38d3b04a Mon Sep 17 00:00:00 2001
From: Tristan Gingold
Date: Fri, 20 Dec 2013 04:48:54 +0100
Subject: Import vests testsuite

---
 .../vests/vhdl-93/billowitch/compliant/tc415.vhd   | 102 +++++++++++++++++++++
 1 file changed, 102 insertions(+)
 create mode 100644 testsuite/vests/vhdl-93/billowitch/compliant/tc415.vhd

(limited to 'testsuite/vests/vhdl-93/billowitch/compliant/tc415.vhd')

diff --git a/testsuite/vests/vhdl-93/billowitch/compliant/tc415.vhd b/testsuite/vests/vhdl-93/billowitch/compliant/tc415.vhd
new file mode 100644
index 0000000..6a2225c
--- /dev/null
+++ b/testsuite/vests/vhdl-93/billowitch/compliant/tc415.vhd
@@ -0,0 +1,102 @@
+
+-- Copyright (C) 2001 Bill Billowitch.
+
+-- Some of the work to develop this test suite was done with Air Force
+-- support.  The Air Force and Bill Billowitch assume no
+-- responsibilities for this software.
+
+-- This file is part of VESTs (Vhdl tESTs).
+
+-- VESTs is free software; you can redistribute it and/or modify it
+-- under the terms of the GNU General Public License as published by the
+-- Free Software Foundation; either version 2 of the License, or (at
+-- your option) any later version. 
+
+-- VESTs is distributed in the hope that it will be useful, but WITHOUT
+-- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+-- FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+-- for more details. 
+
+-- You should have received a copy of the GNU General Public License
+-- along with VESTs; if not, write to the Free Software Foundation,
+-- Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
+
+-- ---------------------------------------------------------------------
+--
+-- $Id: tc415.vhd,v 1.2 2001-10-26 16:29:54 paw Exp $
+-- $Revision: 1.2 $
+--
+-- ---------------------------------------------------------------------
+
+ENTITY model IS
+  PORT
+    (
+      F1:  OUT     integer := 3;
+      F2:  INOUT    integer := 3;
+      F3:  IN    integer
+      );
+END model;
+
+architecture model of model is
+begin
+  process
+  begin
+    wait for 1 ns;
+    assert F3= 3
+      report"wrong initialization of F3 through type conversion" severity failure;
+    assert F2 = 3
+      report"wrong initialization of F2 through type conversion" severity failure;
+    wait;
+  end process;
+end;
+
+
+ENTITY c03s02b01x01p19n01i00415ent IS
+END c03s02b01x01p19n01i00415ent;
+
+ARCHITECTURE c03s02b01x01p19n01i00415arch OF c03s02b01x01p19n01i00415ent IS
+
+  type       boolean_cons_vector is array (15 downto 0) of boolean;
+  constant    C1 : boolean_cons_vector := (others => true);
+
+  function complex_scalar(s : boolean_cons_vector) return integer is
+  begin
+    return 3;
+  end complex_scalar;
+  function scalar_complex(s : integer) return boolean_cons_vector is
+  begin
+    return C1;
+  end scalar_complex;
+  component model1
+    PORT
+      (    
+        F1:  OUT     integer;
+        F2:  INOUT    integer;
+        F3:  IN    integer
+        );
+  end component;
+  for T1 : model1 use entity work.model(model);
+
+  signal S1 : boolean_cons_vector;
+  signal S2 : boolean_cons_vector;
+  signal S3 : boolean_cons_vector := C1;
+BEGIN
+  T1: model1
+    port map (
+      scalar_complex(F1) => S1,
+      scalar_complex(F2) => complex_scalar(S2),
+      F3 => complex_scalar(S3)
+      );
+  TESTING: PROCESS
+  BEGIN
+    wait for 1 ns;
+    assert NOT((S1 = C1) and (S2 = C1)) 
+      report "***PASSED TEST: c03s02b01x01p19n01i00415" 
+      severity NOTE;
+    assert ((S1 = C1) and (S2 = C1)) 
+      report "***FAILED TEST: c03s02b01x01p19n01i00415 - For an interface object of mode out, buffer, inout, or linkage, if the formal part includes a type conversion function, then the parameter subtype of that function must be a constrained array subtype."
+      severity ERROR;
+    wait;
+  END PROCESS TESTING;
+
+END c03s02b01x01p19n01i00415arch;
-- 
cgit