Fix GCC warning about ODR violation

There are two enums called "Operator"

 qdrawhelper_p.h:201:8: warning: type ‘struct Operator’ violates the C++ One Definition Rule [-Wodr]
 qopengl.cpp:138:6: note: a different type is defined in another translation unit

Change-Id: I09100678ff4443e6be06fffd1482da1f636614b7
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
This commit is contained in:
Thiago Macieira 2016-10-31 23:57:36 -07:00
parent 9e53a91e99
commit cf4e7575ca

View File

@ -129,9 +129,6 @@ QDebug operator<<(QDebug d, const QOpenGLConfig::Gpu &g)
return d; return d;
} }
enum Operator { NotEqual, LessThan, LessEqualThan, Equals, GreaterThan, GreaterEqualThan };
static const char operators[][3] = {"!=", "<", "<=", "=", ">", ">="};
static inline QString valueKey() { return QStringLiteral("value"); } static inline QString valueKey() { return QStringLiteral("value"); }
static inline QString opKey() { return QStringLiteral("op"); } static inline QString opKey() { return QStringLiteral("op"); }
static inline QString versionKey() { return QStringLiteral("version"); } static inline QString versionKey() { return QStringLiteral("version"); }
@ -169,6 +166,9 @@ static inline bool contains(const QJsonArray &haystack, const QString &needle)
} }
namespace { namespace {
enum Operator { NotEqual, LessThan, LessEqualThan, Equals, GreaterThan, GreaterEqualThan };
static const char operators[][3] = {"!=", "<", "<=", "=", ">", ">="};
// VersionTerm describing a version term consisting of number and operator // VersionTerm describing a version term consisting of number and operator
// found in os.version and driver_version. // found in os.version and driver_version.
struct VersionTerm { struct VersionTerm {