mirror of
https://github.com/holub/mame
synced 2025-10-07 01:16:22 +03:00
if this doesn't work around GCC 8, file a bug with GNU (nw)
This commit is contained in:
parent
2c552c44b5
commit
1122abfcee
@ -466,9 +466,13 @@ private:
|
|||||||
std::string m_message;
|
std::string m_message;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
template <typename Source, typename Func> class transform_builder; // workaround for GCC 8 not implementing friend properly
|
||||||
|
|
||||||
class builder_base
|
class builder_base
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
|
template <typename T, typename U> friend class transform_builder; // workaround for GCC 8 not implementing friend properly
|
||||||
|
|
||||||
builder_base(devcb_read &target, bool append) : m_target(target), m_append(append) { }
|
builder_base(devcb_read &target, bool append) : m_target(target), m_append(append) { }
|
||||||
builder_base(builder_base const &) = delete;
|
builder_base(builder_base const &) = delete;
|
||||||
builder_base(builder_base &&) = default;
|
builder_base(builder_base &&) = default;
|
||||||
@ -1047,9 +1051,15 @@ private:
|
|||||||
virtual func_t create() override { return [] (address_space &space, offs_t offset, Input data, std::make_unsigned_t<Input> mem_mask) { }; }
|
virtual func_t create() override { return [] (address_space &space, offs_t offset, Input data, std::make_unsigned_t<Input> mem_mask) { }; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
template <typename Source, typename Func> class transform_builder; // workaround for GCC 8 not implementing friend properly
|
||||||
|
template <typename Sink, typename Func> class first_transform_builder; // workaround for GCC 8 not implementing friend properly
|
||||||
|
|
||||||
class builder_base
|
class builder_base
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
|
template <typename T, typename U> friend class transform_builder; // workaround for GCC 8 not implementing friend properly
|
||||||
|
template <typename T, typename U> friend class first_transform_builder; // workaround for GCC 8 not implementing friend properly
|
||||||
|
|
||||||
builder_base(devcb_write &target, bool append) : m_target(target), m_append(append) { }
|
builder_base(devcb_write &target, bool append) : m_target(target), m_append(append) { }
|
||||||
builder_base(builder_base const &) = delete;
|
builder_base(builder_base const &) = delete;
|
||||||
builder_base(builder_base &&) = default;
|
builder_base(builder_base &&) = default;
|
||||||
@ -1361,7 +1371,7 @@ private:
|
|||||||
Delegate m_delegate;
|
Delegate m_delegate;
|
||||||
};
|
};
|
||||||
|
|
||||||
friend class delegate_builder::wrapped_builder;
|
friend class wrapped_builder; // workaround for MSVC
|
||||||
|
|
||||||
delegate_builder(delegate_builder const &) = delete;
|
delegate_builder(delegate_builder const &) = delete;
|
||||||
delegate_builder &operator=(delegate_builder const &) = delete;
|
delegate_builder &operator=(delegate_builder const &) = delete;
|
||||||
@ -1493,7 +1503,7 @@ private:
|
|||||||
int const m_linenum;
|
int const m_linenum;
|
||||||
};
|
};
|
||||||
|
|
||||||
friend class inputline_builder::wrapped_builder;
|
friend class wrapped_builder; // workaround for MSVC
|
||||||
|
|
||||||
inputline_builder(inputline_builder const &) = delete;
|
inputline_builder(inputline_builder const &) = delete;
|
||||||
inputline_builder &operator=(inputline_builder const &) = delete;
|
inputline_builder &operator=(inputline_builder const &) = delete;
|
||||||
@ -1650,7 +1660,7 @@ private:
|
|||||||
int const m_value;
|
int const m_value;
|
||||||
};
|
};
|
||||||
|
|
||||||
friend class latched_inputline_builder::wrapped_builder;
|
friend class wrapped_builder; // workaround for MSVC
|
||||||
|
|
||||||
latched_inputline_builder(latched_inputline_builder const &) = delete;
|
latched_inputline_builder(latched_inputline_builder const &) = delete;
|
||||||
latched_inputline_builder &operator=(latched_inputline_builder const &) = delete;
|
latched_inputline_builder &operator=(latched_inputline_builder const &) = delete;
|
||||||
@ -1784,7 +1794,7 @@ private:
|
|||||||
std::string m_tag;
|
std::string m_tag;
|
||||||
};
|
};
|
||||||
|
|
||||||
friend class ioport_builder::wrapped_builder;
|
friend class wrapped_builder; // workaround for MSVC
|
||||||
|
|
||||||
ioport_builder(ioport_builder const &) = delete;
|
ioport_builder(ioport_builder const &) = delete;
|
||||||
ioport_builder &operator=(ioport_builder const &) = delete;
|
ioport_builder &operator=(ioport_builder const &) = delete;
|
||||||
@ -1884,7 +1894,7 @@ private:
|
|||||||
std::string m_tag;
|
std::string m_tag;
|
||||||
};
|
};
|
||||||
|
|
||||||
friend class membank_builder::wrapped_builder;
|
friend class wrapped_builder; // workaround for MSVC
|
||||||
|
|
||||||
membank_builder(membank_builder const &) = delete;
|
membank_builder(membank_builder const &) = delete;
|
||||||
membank_builder &operator=(membank_builder const &) = delete;
|
membank_builder &operator=(membank_builder const &) = delete;
|
||||||
@ -1981,7 +1991,7 @@ private:
|
|||||||
std::string m_tag;
|
std::string m_tag;
|
||||||
};
|
};
|
||||||
|
|
||||||
friend class output_builder::wrapped_builder;
|
friend class wrapped_builder; // workaround for MSVC
|
||||||
|
|
||||||
output_builder(output_builder const &) = delete;
|
output_builder(output_builder const &) = delete;
|
||||||
output_builder &operator=(output_builder const &) = delete;
|
output_builder &operator=(output_builder const &) = delete;
|
||||||
@ -2075,7 +2085,7 @@ private:
|
|||||||
std::string m_message;
|
std::string m_message;
|
||||||
};
|
};
|
||||||
|
|
||||||
friend class log_builder::wrapped_builder;
|
friend class wrapped_builder; // workaround for MSVC
|
||||||
|
|
||||||
log_builder(log_builder const &) = delete;
|
log_builder(log_builder const &) = delete;
|
||||||
log_builder &operator=(log_builder const &) = delete;
|
log_builder &operator=(log_builder const &) = delete;
|
||||||
|
@ -240,7 +240,7 @@ template<int Width, int AddrShift, int Endian> class memory_units_descriptor;
|
|||||||
|
|
||||||
// =====================-> Address segmentation for the search tree
|
// =====================-> Address segmentation for the search tree
|
||||||
|
|
||||||
static inline constexpr int handler_entry_dispatch_lowbits(int highbits, int width, int ashift)
|
constexpr int handler_entry_dispatch_lowbits(int highbits, int width, int ashift)
|
||||||
{
|
{
|
||||||
return (highbits > 48) ? 48 :
|
return (highbits > 48) ? 48 :
|
||||||
(highbits > 32) ? 32 :
|
(highbits > 32) ? 32 :
|
||||||
|
Loading…
Reference in New Issue
Block a user