diff -ruNa -x'Make*' -x.deps -xexamples -x'*m4*' -xmissing -x'config.*' -xconfigure systemc-2.2.0/configure.in systemc-2.2.0+/configure.in --- systemc-2.2.0/configure.in 2006-12-15 13:31:28.000000000 -0700 +++ systemc-2.2.0+/configure.in 2009-05-13 23:55:44.132401683 -0700 @@ -128,6 +128,23 @@ AS=as QT_ARCH="x86_64" ;; + i386-pc-solaris2.11) + case "$CXX_COMP" in + g++*) + EXTRA_CXXFLAGS="-Wall" + DEBUG_CXXFLAGS="-g" + OPT_CXXFLAGS="-O3" + TARGET_ARCH="solaris" + CC="$CXX" + CFLAGS="$EXTRA_CXXFLAGS $OPT_CXXFLAGS" + ;; + *) + AC_MSG_ERROR("sorry...compiler not supported") + ;; + esac + AS=as + QT_ARCH="iX86" + ;; *linux*) case "$CXX_COMP" in c++ | g++) diff -ruNa -x'Make*' -x.deps -xexamples -x'*m4*' -xmissing -x'config.*' -xconfigure systemc-2.2.0/src/sysc/datatypes/bit/sc_lv_base.h systemc-2.2.0+/src/sysc/datatypes/bit/sc_lv_base.h --- systemc-2.2.0/src/sysc/datatypes/bit/sc_lv_base.h 2007-03-14 10:47:49.000000000 -0700 +++ systemc-2.2.0+/src/sysc/datatypes/bit/sc_lv_base.h 2009-05-14 00:20:22.412463686 -0700 @@ -306,8 +306,8 @@ { int wi = i / SC_DIGIT_SIZE; int bi = i % SC_DIGIT_SIZE; - return sc_logic_value_t( m_data[wi] >> bi & SC_DIGIT_ONE | - m_ctrl[wi] >> bi << 1 & SC_DIGIT_TWO ); + return sc_logic_value_t( ((m_data[wi] >> bi) & SC_DIGIT_ONE) | + ((m_ctrl[wi] >> bi << 1) & SC_DIGIT_TWO) ); } inline diff -ruNa -x'Make*' -x.deps -xexamples -x'*m4*' -xmissing -x'config.*' -xconfigure systemc-2.2.0/src/sysc/datatypes/bit/sc_proxy.h systemc-2.2.0+/src/sysc/datatypes/bit/sc_proxy.h --- systemc-2.2.0/src/sysc/datatypes/bit/sc_proxy.h 2006-12-15 13:31:36.000000000 -0700 +++ systemc-2.2.0+/src/sysc/datatypes/bit/sc_proxy.h 2009-05-14 00:22:38.170525700 -0700 @@ -999,8 +999,8 @@ sc_digit x_dw, x_cw, y_dw, y_cw; get_words_( x, i, x_dw, x_cw ); get_words_( y, i, y_dw, y_cw ); - sc_digit cw = x_dw & y_cw | x_cw & y_dw | x_cw & y_cw; - sc_digit dw = cw | x_dw & y_dw; + sc_digit cw = (x_dw & y_cw) | (x_cw & y_dw) | (x_cw & y_cw); + sc_digit dw = (cw | x_dw) & y_dw; set_words_( x, i, dw, cw ); } // tail cleaning not needed @@ -1023,7 +1023,7 @@ sc_digit x_dw, x_cw, y_dw, y_cw; get_words_( x, i, x_dw, x_cw ); get_words_( y, i, y_dw, y_cw ); - sc_digit cw = x_cw & y_cw | x_cw & ~y_dw | ~x_dw & y_cw; + sc_digit cw = (x_cw & y_cw) | (x_cw & ~y_dw) | (~x_dw & y_cw); sc_digit dw = cw | x_dw | y_dw; set_words_( x, i, dw, cw ); } @@ -1048,7 +1048,7 @@ get_words_( x, i, x_dw, x_cw ); get_words_( y, i, y_dw, y_cw ); sc_digit cw = x_cw | y_cw; - sc_digit dw = cw | x_dw ^ y_dw; + sc_digit dw = cw | (x_dw ^ y_dw); set_words_( x, i, dw, cw ); } // tail cleaning not needed diff -ruNa -x'Make*' -x.deps -xexamples -x'*m4*' -xmissing -x'config.*' -xconfigure systemc-2.2.0/src/sysc/datatypes/fx/sc_fxnum.cpp systemc-2.2.0+/src/sysc/datatypes/fx/sc_fxnum.cpp --- systemc-2.2.0/src/sysc/datatypes/fx/sc_fxnum.cpp 2006-12-15 13:31:36.000000000 -0700 +++ systemc-2.2.0+/src/sysc/datatypes/fx/sc_fxnum.cpp 2009-05-14 00:28:06.329588523 -0700 @@ -422,10 +422,10 @@ case SC_RND_CONV: // convergent rounding { if( frac_part > 0.5 || - frac_part == 0.5 && fmod( int_part, 2.0 ) != 0.0 ) + (frac_part == 0.5 && fmod( int_part, 2.0 ) != 0.0) ) val += 1.0; else if( frac_part < -0.5 || - frac_part == -0.5 && fmod( int_part, 2.0 ) != 0.0 ) + (frac_part == -0.5 && fmod( int_part, 2.0 ) != 0.0 )) val -= 1.0; break; } diff -ruNa -x'Make*' -x.deps -xexamples -x'*m4*' -xmissing -x'config.*' -xconfigure systemc-2.2.0/src/sysc/datatypes/fx/scfx_rep.cpp systemc-2.2.0+/src/sysc/datatypes/fx/scfx_rep.cpp --- systemc-2.2.0/src/sysc/datatypes/fx/scfx_rep.cpp 2006-12-15 13:31:36.000000000 -0700 +++ systemc-2.2.0+/src/sysc/datatypes/fx/scfx_rep.cpp 2009-05-14 00:31:42.392450836 -0700 @@ -1522,8 +1522,8 @@ // if( lhs.is_nan() || rhs.is_nan() - || lhs.is_inf() && rhs.is_zero() - || lhs.is_zero() && rhs.is_inf() ) + || (lhs.is_inf() && rhs.is_zero()) + || (lhs.is_zero() && rhs.is_inf()) ) { result.set_nan(); return; @@ -1603,8 +1603,8 @@ // check for special cases // - if( lhs.is_nan() || rhs.is_nan() || lhs.is_inf() && rhs.is_inf() || - lhs.is_zero() && rhs.is_zero() ) + if( lhs.is_nan() || rhs.is_nan() || (lhs.is_inf() && rhs.is_inf()) || + (lhs.is_zero() && rhs.is_zero()) ) { result.set_nan(); return &result; @@ -1976,7 +1976,7 @@ } case SC_RND_CONV: // convergent rounding { - if( qb && ! qz || qb && qz && q_odd( x ) ) + if( (qb && ! qz) || (qb && qz && q_odd(x)) ) q_incr( x ); break; } @@ -2046,7 +2046,7 @@ if( params.o_mode() == SC_SAT_SYM ) under = ( ! zero_left || bit_at ); else - under = ( ! zero_left || zero_left && bit_at && ! zero_right ); + under = ( ! zero_left || (zero_left && bit_at && ! zero_right) ); } else over = ( ! zero_left || bit_at ); @@ -2885,9 +2885,9 @@ scfx_index x( wi, bi ); - if( q_bit( x ) && ! q_zero( x ) || - q_bit( x ) && q_zero( x ) && q_odd( x ) ) - q_incr( x ); + if( (q_bit(x) && ! q_zero(x)) || + (q_bit(x) && q_zero(x) && q_odd(x))) + q_incr(x); q_clear( x ); find_sw(); diff -ruNa -x'Make*' -x.deps -xexamples -x'*m4*' -xmissing -x'config.*' -xconfigure systemc-2.2.0/src/sysc/datatypes/fx/scfx_utils.h systemc-2.2.0+/src/sysc/datatypes/fx/scfx_utils.h --- systemc-2.2.0/src/sysc/datatypes/fx/scfx_utils.h 2006-12-15 13:31:36.000000000 -0700 +++ systemc-2.2.0+/src/sysc/datatypes/fx/scfx_utils.h 2009-05-14 00:12:34.800796234 -0700 @@ -138,11 +138,11 @@ case 'b': case 'B': { - if( s[2] == 'u' || s[2] == 'U' && s[3] == 's' || s[3] == 'S' ) { + if( ((s[2] == 'u') || (s[2] == 'U')) && ((s[3] == 's') || (s[3] == 'S')) ) { s += 4; return SC_BIN_US; } - if( s[2] == 's' || s[2] == 'S' && s[3] == 'm' || s[3] == 'M' ) { + if( ((s[2] == 's') || (s[2] == 'S')) && ((s[3] == 'm') || (s[3] == 'M')) ) { s += 4; return SC_BIN_SM; } @@ -152,11 +152,11 @@ case 'o': case 'O': { - if( s[2] == 'u' || s[2] == 'U' && s[3] == 's' || s[3] == 'S' ) { + if( ((s[2] == 'u') || (s[2] == 'U')) && ((s[3] == 's') || (s[3] == 'S')) ) { s += 4; return SC_OCT_US; } - if( s[2] == 's' || s[2] == 'S' && s[3] == 'm' || s[3] == 'M' ) { + if( ((s[2] == 's') || (s[2] == 'S')) && ((s[3] == 'm') || (s[3] == 'M')) ) { s += 4; return SC_OCT_SM; } @@ -166,11 +166,11 @@ case 'x': case 'X': { - if( s[2] == 'u' || s[2] == 'U' && s[3] == 's' || s[3] == 'S' ) { + if( ((s[2] == 'u') || (s[2] == 'U')) && ((s[3] == 's') || (s[3] == 'S')) ) { s += 4; return SC_HEX_US; } - if( s[2] == 's' || s[2] == 'S' && s[3] == 'm' || s[3] == 'M' ) { + if( ((s[2] == 's') || (s[2] == 'S')) && ((s[3] == 'm') || (s[3] == 'M')) ) { s += 4; return SC_HEX_SM; } @@ -186,7 +186,7 @@ case 'c': case 'C': { - if( s[2] == 's' || s[2] == 'S' && s[3] == 'd' || s[3] == 'D' ) { + if( (s[2] == 's' || s[2] == 'S') && (s[3] == 'd' || s[3] == 'D') ) { s += 4; return SC_CSD; } diff -ruNa -x'Make*' -x.deps -xexamples -x'*m4*' -xmissing -x'config.*' -xconfigure systemc-2.2.0/src/sysc/qt/qt.c systemc-2.2.0+/src/sysc/qt/qt.c --- systemc-2.2.0/src/sysc/qt/qt.c 2006-12-15 13:31:38.000000000 -0700 +++ systemc-2.2.0+/src/sysc/qt/qt.c 2009-05-14 00:25:29.381497635 -0700 @@ -1,8 +1,6 @@ #include "copyright.h" #include "qt.h" -static void *qt_sp_bottom_save; - #ifdef QT_VARGS_DEFAULT /* If the stack grows down, `vargs' is a pointer to the lowest diff -ruNa -x'Make*' -x.deps -xexamples -x'*m4*' -xmissing -x'config.*' -xconfigure systemc-2.2.0/src/sysc/tracing/sc_vcd_trace.cpp systemc-2.2.0+/src/sysc/tracing/sc_vcd_trace.cpp --- systemc-2.2.0/src/sysc/tracing/sc_vcd_trace.cpp 2006-12-15 13:31:39.000000000 -0700 +++ systemc-2.2.0+/src/sysc/tracing/sc_vcd_trace.cpp 2009-05-14 00:26:26.663365144 -0700 @@ -2016,9 +2016,9 @@ double_to_special_int64(now_units, &now_units_high, &now_units_low ); bool now_later_than_previous_time = false; - if( now_units_low > previous_time_units_low - && now_units_high == previous_time_units_high - || now_units_high > previous_time_units_high){ + if((now_units_low > previous_time_units_low + && now_units_high == previous_time_units_high) + || (now_units_high > previous_time_units_high)){ now_later_than_previous_time = true; } diff -ruNa -x'Make*' -x.deps -xexamples -x'*m4*' -xmissing -x'config.*' -xconfigure systemc-2.2.0/src/sysc/utils/sc_utils_ids.cpp systemc-2.2.0+/src/sysc/utils/sc_utils_ids.cpp --- systemc-2.2.0/src/sysc/utils/sc_utils_ids.cpp 2006-12-15 13:31:39.000000000 -0700 +++ systemc-2.2.0+/src/sysc/utils/sc_utils_ids.cpp 2009-05-14 00:06:03.939795641 -0700 @@ -58,6 +58,9 @@ // the source. // +#include +#include + #include "sysc/utils/sc_report.h" @@ -107,7 +110,7 @@ // PROCESS ANY ENVIRONMENTAL OVERRIDES: - const char* deprecation_warn = std::getenv("SC_DEPRECATION_WARNINGS"); + const char* deprecation_warn = getenv("SC_DEPRECATION_WARNINGS"); if ( (deprecation_warn!=0) && !strcmp(deprecation_warn,"DISABLE") ) { sc_report_handler::set_actions("/IEEE_Std_1666/deprecated",