diff options
Diffstat (limited to 'src/systemc/ext/dt')
-rw-r--r-- | src/systemc/ext/dt/bit/sc_proxy.hh | 2 | ||||
-rw-r--r-- | src/systemc/ext/dt/fx/sc_fxdefs.hh | 6 | ||||
-rw-r--r-- | src/systemc/ext/dt/fx/scfx_utils.hh | 8 |
3 files changed, 11 insertions, 5 deletions
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); |