diff options
Diffstat (limited to 'testsuite/vests/vhdl-93/billowitch/non_compliant/analyzer_failure/tc2451.vhd')
-rw-r--r-- | testsuite/vests/vhdl-93/billowitch/non_compliant/analyzer_failure/tc2451.vhd | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/testsuite/vests/vhdl-93/billowitch/non_compliant/analyzer_failure/tc2451.vhd b/testsuite/vests/vhdl-93/billowitch/non_compliant/analyzer_failure/tc2451.vhd new file mode 100644 index 0000000..e9942c9 --- /dev/null +++ b/testsuite/vests/vhdl-93/billowitch/non_compliant/analyzer_failure/tc2451.vhd @@ -0,0 +1,74 @@ + +-- 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: tc2451.vhd,v 1.2 2001-10-26 16:30:19 paw Exp $ +-- $Revision: 1.2 $ +-- +-- --------------------------------------------------------------------- + +ENTITY c07s03b02x02p03n02i02451ent IS +END c07s03b02x02p03n02i02451ent; + +ARCHITECTURE c07s03b02x02p03n02i02451arch OF c07s03b02x02p03n02i02451ent IS + +BEGIN + TESTING: PROCESS + type ENUM is ( ONE ); + + type A_ARRAY is array ( integer range <> ) of integer; + type B_ARRAY is array ( boolean range <> ) of real; + type C_ARRAY is array ( ENUM range <>, ENUM range <>) of bit; + + subtype A_CON is A_ARRAY ( 1 to 4 ); + subtype B_CON is B_ARRAY ( FALSE to TRUE ); + subtype C_CON is C_ARRAY ( ONE to ONE, ONE to ONE ); + + function F_A ( PAR : A_ARRAY ) return A_CON is + begin return (1,2,3,4); + end F_A; + + function F_B ( PAR : B_ARRAY ) return B_CON is + begin return (1.0, 2.0); + end F_B; + + function F_C ( PAR : C_ARRAY ) return C_CON is + begin return (ONE=>(ONE=>'0')); + end F_C; + + variable V_A : A_CON ; + variable V_B : B_CON ; + variable V_C : C_CON ; + + BEGIN + V_B := F_B( F_B( (1.0,others=>2.0) ) ); -- Failure_here + -- SEMANTIC ERROR: "others" used in aggregate which corresponds to + -- an unconstrained formal parameter. + assert FALSE + report "***FAILED TEST: c07s03b02x02p03n02i02451 - Others is used in an aggregate which corresponds to an unconstrained formal parameter." + severity ERROR; + wait; + END PROCESS TESTING; + +END c07s03b02x02p03n02i02451arch; |