diff options
author | Laszlo Agocs <laszlo.agocs@qt.io> | 2016-10-06 11:35:42 +0200 |
---|---|---|
committer | Laszlo Agocs <laszlo.agocs@qt.io> | 2016-10-07 12:06:46 +0000 |
commit | dcbff0a9e10ebea0ed33d3c867f17ea561fc73b4 (patch) | |
tree | fadc50ecc9f7c15a43b0035e44d7291307d64869 /src/corelib | |
parent | 0d43d4f79493e06a9f1dac4777d302b5d891a1be (diff) |
Fix signed-unsigned mismatch with gcc 4.9.0
Android NDK r10d with gcc 4.9.0 fails with:
gglobal/qoperatingsystemversion.cpp: In static member function 'static QOperatingSystemVersion QOperatingSystemVersion::current()':
global/qoperatingsystemversion.cpp:150:25: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
if (sdk >= 1 && sdk <= sizeof(versions) / sizeof(versions[0])) {
Switch to size_t and store the array index in order to simplify.
Code is new in dev, introduced in 26b2ad5a181eab7ad04ba819004bcc619c24147b
Change-Id: Ia19cfcb9789e225760f4d1a05c91463f4c7c2302
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Diffstat (limited to 'src/corelib')
-rw-r--r-- | src/corelib/global/qoperatingsystemversion.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/corelib/global/qoperatingsystemversion.cpp b/src/corelib/global/qoperatingsystemversion.cpp index 14dc109b3e..ffc51cd432 100644 --- a/src/corelib/global/qoperatingsystemversion.cpp +++ b/src/corelib/global/qoperatingsystemversion.cpp @@ -146,14 +146,14 @@ QOperatingSystemVersion QOperatingSystemVersion::current() }; // This will give us at least the first 2 version components - const int sdk = static_cast<int>(QJNIObjectPrivate::getStaticField<jint>("android/os/Build$VERSION", "SDK_INT")); - if (sdk >= 1 && sdk <= sizeof(versions) / sizeof(versions[0])) { - version.m_major = versions[sdk - 1][0]; - version.m_minor = versions[sdk - 1][1]; + const size_t versionIdx = size_t(QJNIObjectPrivate::getStaticField<jint>("android/os/Build$VERSION", "SDK_INT")) - 1; + if (versionIdx < sizeof(versions) / sizeof(versions[0])) { + version.m_major = versions[versionIdx][0]; + version.m_minor = versions[versionIdx][1]; } // API level 6 was exactly version 2.0.1 - version.m_micro = sdk == 6 ? 1 : -1; + version.m_micro = versionIdx == 5 ? 1 : -1; #else version.m_major = -1; version.m_minor = -1; |