diff options
author | 2020-11-23 10:29:23 +1100 | |
---|---|---|
committer | 2020-11-23 10:29:23 +1100 | |
commit | 58c8cba9b3b8fb44de201f1f22e20e94d192c293 (patch) | |
tree | a704f75ae70b1c9ba8dc9d5af6cdf242564ded26 /src/emu/emumem_hedr.ipp | |
parent | 245ef45985b6847f639f75c4194fcd68fc338a10 (diff) |
Work around GNU libstdc++ wanting to stack large temporaries when vector elements can be trivially constructed.
Diffstat (limited to 'src/emu/emumem_hedr.ipp')
-rw-r--r-- | src/emu/emumem_hedr.ipp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/emu/emumem_hedr.ipp b/src/emu/emumem_hedr.ipp index 41a209f75ec..bdb1f971703 100644 --- a/src/emu/emumem_hedr.ipp +++ b/src/emu/emumem_hedr.ipp @@ -550,7 +550,7 @@ template<int HighBits, int Width, int AddrShift, endianness_t Endian> void handl fatalerror("init_handlers called on non-view handler_entry_read_dispatch."); if(!m_dispatch_array.empty()) fatalerror("init_handlers called twice on handler_entry_read_dispatch."); - + m_ranges_array.resize(1); m_dispatch_array.resize(1); m_a_ranges = m_ranges_array[0].data(); @@ -591,7 +591,7 @@ template<int HighBits, int Width, int AddrShift, endianness_t Endian> void handl fatalerror("out-of-range view selection."); m_a_ranges = m_ranges_array[i].data(); - m_a_dispatch = m_dispatch_array[i].data(); + m_a_dispatch = m_dispatch_array[i].data(); } template<int HighBits, int Width, int AddrShift, endianness_t Endian> void handler_entry_read_dispatch<HighBits, Width, AddrShift, Endian>::select_u(int id) @@ -600,7 +600,7 @@ template<int HighBits, int Width, int AddrShift, endianness_t Endian> void handl if(i > m_dispatch_array.size()) fatalerror("out-of-range view update selection."); else if(i == m_dispatch_array.size()) { - u32 aid = (std::array<handler_entry_read<Width, AddrShift, Endian> *, COUNT> *)(m_a_dispatch) - m_dispatch_array.data(); + u32 aid = (handler_array *)(m_a_dispatch) - m_dispatch_array.data(); m_dispatch_array.resize(i+1); m_ranges_array.resize(i+1); |