summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author couriersud <couriersud@gmx.org>2017-02-17 19:38:15 +0100
committer couriersud <couriersud@gmx.org>2017-02-17 20:10:15 +0100
commit8536d065e23e2235727e720b274bab50de1ebb1c (patch)
treed69251119672bee5509bbc8541333208187bf50d
parent0716d965144f17ff909affc5c465f721feb3e625 (diff)
Fix mingw 32 bit build. (nw)
-rwxr-xr-xsrc/lib/netlist/buildVS/netlistlib.vcxproj5
-rwxr-xr-xsrc/lib/netlist/buildVS/netlistlib.vcxproj.filters12
-rwxr-xr-xsrc/lib/netlist/buildVS/nltool.vcxproj1
-rwxr-xr-x[-rw-r--r--]src/lib/netlist/devices/nlid_truthtable.cpp24
-rwxr-xr-xsrc/lib/netlist/plib/pconfig.h7
-rwxr-xr-xsrc/lib/netlist/plib/ppmf.h1
6 files changed, 22 insertions, 28 deletions
diff --git a/src/lib/netlist/buildVS/netlistlib.vcxproj b/src/lib/netlist/buildVS/netlistlib.vcxproj
index 11b9d3dcccd..a021ee46e12 100755
--- a/src/lib/netlist/buildVS/netlistlib.vcxproj
+++ b/src/lib/netlist/buildVS/netlistlib.vcxproj
@@ -88,6 +88,7 @@
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <AdditionalIncludeDirectories>..\..\</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<TargetMachine>MachineX86</TargetMachine>
@@ -127,7 +128,6 @@
<ClCompile Include="..\devices\nld_74192.cpp" />
<ClCompile Include="..\devices\nld_74193.cpp" />
<ClCompile Include="..\devices\nld_74194.cpp" />
- <ClCompile Include="..\devices\nld_74279.cpp" />
<ClCompile Include="..\devices\nld_74365.cpp" />
<ClCompile Include="..\devices\nld_7448.cpp" />
<ClCompile Include="..\devices\nld_7450.cpp" />
@@ -144,7 +144,6 @@
<ClCompile Include="..\devices\nld_82S126.cpp" />
<ClCompile Include="..\devices\nld_82S16.cpp" />
<ClCompile Include="..\devices\nld_9310.cpp" />
- <ClCompile Include="..\devices\nld_9312.cpp" />
<ClCompile Include="..\devices\nld_9316.cpp" />
<ClCompile Include="..\devices\nld_9322.cpp" />
<ClCompile Include="..\devices\nld_am2847.cpp" />
@@ -209,7 +208,6 @@
<ClInclude Include="..\devices\nld_74192.h" />
<ClInclude Include="..\devices\nld_74193.h" />
<ClInclude Include="..\devices\nld_74194.h" />
- <ClInclude Include="..\devices\nld_74279.h" />
<ClInclude Include="..\devices\nld_74365.h" />
<ClInclude Include="..\devices\nld_7448.h" />
<ClInclude Include="..\devices\nld_7450.h" />
@@ -226,7 +224,6 @@
<ClInclude Include="..\devices\nld_82S126.h" />
<ClInclude Include="..\devices\nld_82S16.h" />
<ClInclude Include="..\devices\nld_9310.h" />
- <ClInclude Include="..\devices\nld_9312.h" />
<ClInclude Include="..\devices\nld_9316.h" />
<ClInclude Include="..\devices\nld_9322.h" />
<ClInclude Include="..\devices\nld_am2847.h" />
diff --git a/src/lib/netlist/buildVS/netlistlib.vcxproj.filters b/src/lib/netlist/buildVS/netlistlib.vcxproj.filters
index 7c3cff5bd3e..ad25be9fbab 100755
--- a/src/lib/netlist/buildVS/netlistlib.vcxproj.filters
+++ b/src/lib/netlist/buildVS/netlistlib.vcxproj.filters
@@ -186,9 +186,6 @@
<ClCompile Include="..\devices\nld_7473.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\devices\nld_74279.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
<ClCompile Include="..\devices\nld_4066.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@@ -228,9 +225,6 @@
<ClCompile Include="..\devices\nld_7474.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\devices\nld_9312.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
<ClCompile Include="..\devices\nld_82S126.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@@ -434,9 +428,6 @@
<ClInclude Include="..\devices\nlid_proxy.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\devices\nld_74279.h">
- <Filter>Header Files</Filter>
- </ClInclude>
<ClInclude Include="..\devices\nld_log.h">
<Filter>Header Files</Filter>
</ClInclude>
@@ -470,9 +461,6 @@
<ClInclude Include="..\devices\nld_7474.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\devices\nld_9312.h">
- <Filter>Header Files</Filter>
- </ClInclude>
<ClInclude Include="..\devices\nld_74194.h">
<Filter>Header Files</Filter>
</ClInclude>
diff --git a/src/lib/netlist/buildVS/nltool.vcxproj b/src/lib/netlist/buildVS/nltool.vcxproj
index bf91128ae56..200e701ea33 100755
--- a/src/lib/netlist/buildVS/nltool.vcxproj
+++ b/src/lib/netlist/buildVS/nltool.vcxproj
@@ -116,6 +116,7 @@
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
diff --git a/src/lib/netlist/devices/nlid_truthtable.cpp b/src/lib/netlist/devices/nlid_truthtable.cpp
index 957c9c69899..55aa79b0457 100644..100755
--- a/src/lib/netlist/devices/nlid_truthtable.cpp
+++ b/src/lib/netlist/devices/nlid_truthtable.cpp
@@ -69,6 +69,8 @@ namespace netlist
size_t m_size;
};
+ static const uint_least64_t one64 = static_cast<uint_least64_t>(1);
+
struct truthtable_desc_t
{
truthtable_desc_t(unsigned NO, unsigned NI, bool *initialized,
@@ -159,7 +161,7 @@ namespace netlist
connect(m_Q[i], m_I[idx]);
// disable ignore for this inputs altogether.
// FIXME: This shouldn't be necessary
- disabled_ignore |= (1<<idx);
+ disabled_ignore |= (one64 << idx);
}
}
@@ -236,7 +238,7 @@ uint_least64_t truthtable_desc_t::set_bits(uint_least64_t v, uint_least64_t b)
uint_least64_t truthtable_desc_t::get_ignored_simple(uint_least64_t i)
{
uint_least64_t m_enable = 0;
- for (size_t j=0; j<m_size; j++)
+ for (uint_least64_t j=0; j<m_size; j++)
{
if (m_outs[j] != m_outs[i])
{
@@ -250,24 +252,24 @@ uint_least64_t truthtable_desc_t::get_ignored_extended(uint_least64_t state)
{
// Determine all inputs which may be ignored ...
uint_least64_t ignore = 0;
- for (unsigned j=0; j<m_NI; j++)
+ for (std::size_t j=0; j<m_NI; j++)
{
- if (m_outs[state] == m_outs[state ^ (1 << j)])
- ignore |= (1<<j);
+ if (m_outs[state] == m_outs[state ^ (one64 << j)])
+ ignore |= (one64 << j);
}
/* Check all permutations of ign
* We have to remove those where the ignored inputs
* may change the output
*/
- uint_least64_t bits = (1<<count_bits(ignore));
+ uint_least64_t bits = (one64 << count_bits(ignore));
std::vector<bool> t(bits);
for (size_t j=1; j<bits; j++)
{
uint_least64_t tign = set_bits(ignore, j);
t[j] = 0;
- uint_least64_t bitsk=(1<<count_bits(tign));
- for (size_t k=0; k<bitsk; k++)
+ uint_least64_t bitsk=(one64 << count_bits(tign));
+ for (uint_least64_t k=0; k<bitsk; k++)
{
uint_least64_t b=set_bits(tign, k);
if (m_outs[state] != m_outs[(state & ~tign) | b])
@@ -377,7 +379,7 @@ void truthtable_desc_t::setup(const std::vector<pstring> &truthtable, uint_least
{
pstring outs = out[j].trim();
if (outs.equals("1"))
- val = val | (1 << j);
+ val = val | (one64 << j);
else
nl_assert_always(outs.equals("0"), "Unknown value (not 0 or 1");
netlist_time t = netlist_time::from_nsec(static_cast<unsigned long>(times[j].trim().as_long()));
@@ -399,7 +401,7 @@ void truthtable_desc_t::setup(const std::vector<pstring> &truthtable, uint_least
// determine ignore
std::vector<uint_least64_t> ign(m_size, all_set);
- for (size_t i=0; i<m_size; i++)
+ for (uint_least64_t i=0; i<m_size; i++)
{
if (ign[i] == all_set)
{
@@ -415,7 +417,7 @@ void truthtable_desc_t::setup(const std::vector<pstring> &truthtable, uint_least
ign[i] = tign;
/* don't need to recalculate similar ones */
- uint_least64_t bitsk=(1<<count_bits(tign));
+ uint_least64_t bitsk=(one64 << count_bits(tign));
for (uint_least64_t k=0; k<bitsk; k++)
{
uint_least64_t b=set_bits(tign, k);
diff --git a/src/lib/netlist/plib/pconfig.h b/src/lib/netlist/plib/pconfig.h
index e5a98fb5be8..3a2cb00e9e4 100755
--- a/src/lib/netlist/plib/pconfig.h
+++ b/src/lib/netlist/plib/pconfig.h
@@ -56,7 +56,7 @@ typedef __int128_t INT128;
//============================================================
// This will be autodetected
-// #define PPMF_TYPE 0
+//#define PPMF_TYPE 0
#define PPMF_TYPE_PMF 0
#define PPMF_TYPE_GNUC_PMF_CONV 1
@@ -92,6 +92,11 @@ typedef __int128_t INT128;
#else
#define PPMF_TYPE PPMF_TYPE_PMF
#endif
+#else
+ #undef PHAS_PMF_INTERNAL
+ #define PHAS_PMF_INTERNAL 0
+ #undef MEMBER_ABI
+ #define MEMBER_ABI
#endif
#endif /* PCONFIG_H_ */
diff --git a/src/lib/netlist/plib/ppmf.h b/src/lib/netlist/plib/ppmf.h
index 6109cc916e5..f2761fa8c00 100755
--- a/src/lib/netlist/plib/ppmf.h
+++ b/src/lib/netlist/plib/ppmf.h
@@ -177,6 +177,7 @@ namespace plib {
function_ptr t = *reinterpret_cast<function_ptr *>(&m_func);
return (obj->*t)(std::forward<Targs>(args)...);
}
+ bool is_set() { return m_func != nullptr; }
private:
generic_function m_func;
#if 0 && defined(_MSC_VER)