summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/systemc/dt/fx/scfx_rep.cc5
-rw-r--r--src/systemc/ext/dt/bit/sc_proxy.hh2
-rw-r--r--src/systemc/ext/dt/fx/sc_fxdefs.hh6
-rw-r--r--src/systemc/ext/dt/fx/scfx_utils.hh8
4 files changed, 14 insertions, 7 deletions
diff --git a/src/systemc/dt/fx/scfx_rep.cc b/src/systemc/dt/fx/scfx_rep.cc
index 3d10fb3f6..ae19fabe0 100644
--- a/src/systemc/dt/fx/scfx_rep.cc
+++ b/src/systemc/dt/fx/scfx_rep.cc
@@ -147,7 +147,7 @@ scfx_rep::scfx_rep(long a) :
a = -a;
m_sign = -1;
}
-# if defined(SC_LONG_64)
+# if SC_LONG_64
m_wp = 1;
m_mant[1] = static_cast<word>(a);
m_mant[2] = static_cast<word>(a >> bits_in_word);
@@ -171,7 +171,7 @@ scfx_rep::scfx_rep(unsigned long a) :
m_mant.clear();
m_wp = m_msw = m_lsw = 2;
m_state = normal;
-# if defined(SC_LONG_64)
+# if SC_LONG_64
m_wp = 1;
m_mant[1] = static_cast<word>(a);
m_mant[2] = static_cast<word>(a >> bits_in_word);
@@ -1057,6 +1057,7 @@ print_other(scfx_string &s, const scfx_rep &a, sc_numrep numrep, int w_prefix,
lsb = (b.m_lsw - b.m_wp) * bits_in_word +
scfx_find_lsb(b.m_mant[b.m_lsw]);
+
}
}
diff --git a/src/systemc/ext/dt/bit/sc_proxy.hh b/src/systemc/ext/dt/bit/sc_proxy.hh
index cf7bcbfc9..12e10725a 100644
--- a/src/systemc/ext/dt/bit/sc_proxy.hh
+++ b/src/systemc/ext/dt/bit/sc_proxy.hh
@@ -816,7 +816,7 @@ sc_proxy<X>::assign_(int a)
return x;
}
-#if defined(SC_LONG_64)
+#if SC_LONG_64
template <class X>
inline X &
sc_proxy<X>::assign_(unsigned long a)
diff --git a/src/systemc/ext/dt/fx/sc_fxdefs.hh b/src/systemc/ext/dt/fx/sc_fxdefs.hh
index 8acfabfa5..c72a45afc 100644
--- a/src/systemc/ext/dt/fx/sc_fxdefs.hh
+++ b/src/systemc/ext/dt/fx/sc_fxdefs.hh
@@ -50,6 +50,12 @@
#include "../../utils/sc_report_handler.hh"
#include "../int/sc_nbutils.hh"
+#if ULONG_MAX > 0xffffffffUL
+# define SC_LONG_64 1
+#else
+# define SC_LONG_64 0
+#endif
+
namespace sc_dt
{
diff --git a/src/systemc/ext/dt/fx/scfx_utils.hh b/src/systemc/ext/dt/fx/scfx_utils.hh
index 37c57844c..ec186c68f 100644
--- a/src/systemc/ext/dt/fx/scfx_utils.hh
+++ b/src/systemc/ext/dt/fx/scfx_utils.hh
@@ -67,9 +67,9 @@ inline int
scfx_find_msb(unsigned long x)
{
int i = 0;
-# if defined(SC_LONG_64)
+# if SC_LONG_64
MSB_STATEMENT(32);
-# endif // defined(SC_LONG_64)
+# endif // SC_LONG_64
MSB_STATEMENT(16);
MSB_STATEMENT(8);
MSB_STATEMENT(4);
@@ -86,12 +86,12 @@ inline int
scfx_find_lsb(unsigned long x)
{
int i;
-# if defined(SC_LONG_64)
+# if SC_LONG_64
i = 63;
LSB_STATEMENT(32);
# else
i = 31;
-# endif // defined(SC_LONG_64)
+# endif // SC_LONG_64
LSB_STATEMENT(16);
LSB_STATEMENT(8);
LSB_STATEMENT(4);