QFlags: Mark the operators declared in macro maybe_unused
Because, when used in a .cpp file, the compiler can verify that they are. With warnings-are-errors this breaks compilation for me on windows with clang++. Pick-to: 6.2 6.4 Change-Id: Ib29c3b0b485be2c7d7cf6f1fa4541cac8fe32708 Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
parent
bf9ba81429
commit
2c6c76374e
@ -179,26 +179,35 @@ typedef QFlags<Enum> Flags;
|
||||
|
||||
// These are opt-in, for backwards compatibility
|
||||
#define QT_DECLARE_TYPESAFE_OPERATORS_FOR_FLAGS_ENUM(Flags) \
|
||||
[[maybe_unused]] \
|
||||
constexpr inline Flags operator~(Flags::enum_type e) noexcept \
|
||||
{ return ~Flags(e); } \
|
||||
[[maybe_unused]] \
|
||||
constexpr inline void operator|(Flags::enum_type f1, int f2) noexcept = delete;
|
||||
#else
|
||||
#define QT_DECLARE_TYPESAFE_OPERATORS_FOR_FLAGS_ENUM(Flags) \
|
||||
[[maybe_unused]] \
|
||||
constexpr inline QIncompatibleFlag operator|(Flags::enum_type f1, int f2) noexcept \
|
||||
{ return QIncompatibleFlag(int(f1) | f2); }
|
||||
#endif
|
||||
|
||||
#define Q_DECLARE_OPERATORS_FOR_FLAGS(Flags) \
|
||||
[[maybe_unused]] \
|
||||
constexpr inline QFlags<Flags::enum_type> operator|(Flags::enum_type f1, Flags::enum_type f2) noexcept \
|
||||
{ return QFlags<Flags::enum_type>(f1) | f2; } \
|
||||
[[maybe_unused]] \
|
||||
constexpr inline QFlags<Flags::enum_type> operator|(Flags::enum_type f1, QFlags<Flags::enum_type> f2) noexcept \
|
||||
{ return f2 | f1; } \
|
||||
[[maybe_unused]] \
|
||||
constexpr inline QFlags<Flags::enum_type> operator&(Flags::enum_type f1, Flags::enum_type f2) noexcept \
|
||||
{ return QFlags<Flags::enum_type>(f1) & f2; } \
|
||||
[[maybe_unused]] \
|
||||
constexpr inline QFlags<Flags::enum_type> operator&(Flags::enum_type f1, QFlags<Flags::enum_type> f2) noexcept \
|
||||
{ return f2 & f1; } \
|
||||
[[maybe_unused]] \
|
||||
constexpr inline QFlags<Flags::enum_type> operator^(Flags::enum_type f1, Flags::enum_type f2) noexcept \
|
||||
{ return QFlags<Flags::enum_type>(f1) ^ f2; } \
|
||||
[[maybe_unused]] \
|
||||
constexpr inline QFlags<Flags::enum_type> operator^(Flags::enum_type f1, QFlags<Flags::enum_type> f2) noexcept \
|
||||
{ return f2 ^ f1; } \
|
||||
constexpr inline void operator+(Flags::enum_type f1, Flags::enum_type f2) noexcept = delete; \
|
||||
|
Loading…
Reference in New Issue
Block a user