diff options
Diffstat (limited to 'src/systemc/tests/systemc/misc/stars/star132136/test.cpp')
-rw-r--r-- | src/systemc/tests/systemc/misc/stars/star132136/test.cpp | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/src/systemc/tests/systemc/misc/stars/star132136/test.cpp b/src/systemc/tests/systemc/misc/stars/star132136/test.cpp new file mode 100644 index 000000000..9e651f6b1 --- /dev/null +++ b/src/systemc/tests/systemc/misc/stars/star132136/test.cpp @@ -0,0 +1,70 @@ +/***************************************************************************** + + Licensed to Accellera Systems Initiative Inc. (Accellera) under one or + more contributor license agreements. See the NOTICE file distributed + with this work for additional information regarding copyright ownership. + Accellera licenses this file to you under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with the + License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + + *****************************************************************************/ + +/***************************************************************************** + + test.cpp -- + + Original Author: Martin Janssen, Synopsys, Inc., 2002-02-15 + + *****************************************************************************/ + +/***************************************************************************** + + MODIFICATION LOG - modifiers, enter your name, affiliation, date and + changes you are making here. + + Name, Affiliation, Date: + Description of Modification: + + *****************************************************************************/ + +/* + Assignment of an integer to a bit-slice of a bit-vector + works fine for sc_[u]int, sc_bug[u]int but not sc_bv + and sc_lv. That's very strange, especially since it + it allowed to assign an integer to the entire sc_bv/sc_lv + vector. The error message from SC6.1 is + + no match for `sc_bv_ns::sc_range<sc_bv_ns::sc_lv_base> = int &' + + Example: +*/ + +#include <systemc.h> + +int sc_main(int, char**) +{ + sc_int<32> i; + sc_uint<32> u; + sc_bigint<32> bi; + sc_biguint<32> bu; + sc_lv<32> lv; + sc_bv<32> bv; + int I = 42; + + i.range(14,1) = I; + u.range(14,1) = I; + bi.range(14,1) = I; + bu.range(14,1) = I; + lv.range(14,1) = I; // ERROR + bv.range(14,1) = I; // ERROR + + return 0; +} |