--- qt-everywhere-opensource-src-4.8.7/src/corelib/tools/qlocale_icu.cpp~	2017-04-25 07:42:22.000000000 +0000
+++ qt-everywhere-opensource-src-4.8.7/src/corelib/tools/qlocale_icu.cpp	2017-04-25 07:44:34.675363008 +0000
@@ -43,6 +43,8 @@
 #include "qlibrary.h"
 #include "qdebug.h"
 
+#define UCHAR_TYPE unsigned short
+
 #include "unicode/uversion.h"
 #include "unicode/ucol.h"
 
--- qt-everywhere-opensource-src-4.8.7/src/corelib/tools/qstring.cpp	2015-05-07 16:14:48.000000000 +0200
+++ qt-everywhere-opensource-src-4.8.7/src/corelib/tools/qstring.cpp	2017-05-04 04:26:21.101965075 +0200
@@ -6773,7 +6773,7 @@
     QString locale_arg;
     if (d.locale_occurrences > 0) {
         QLocale locale;
-        if (!locale.numberOptions() & QLocale::OmitGroupSeparator)
+        if (~locale.numberOptions() & QLocale::OmitGroupSeparator)
             flags |= QLocalePrivate::ThousandsGroup;
         locale_arg = locale.d()->longLongToString(a, -1, base, fieldWidth, flags);
     }
@@ -6817,7 +6817,7 @@
     QString locale_arg;
     if (d.locale_occurrences > 0) {
         QLocale locale;
-        if (!locale.numberOptions() & QLocale::OmitGroupSeparator)
+        if (~locale.numberOptions() & QLocale::OmitGroupSeparator)
             flags |= QLocalePrivate::ThousandsGroup;
         locale_arg = locale.d()->unsLongLongToString(a, -1, base, fieldWidth, flags);
     }
@@ -6952,7 +6952,7 @@
     if (d.locale_occurrences > 0) {
         QLocale locale;
 
-        if (!locale.numberOptions() & QLocale::OmitGroupSeparator)
+        if (~locale.numberOptions() & QLocale::OmitGroupSeparator)
             flags |= QLocalePrivate::ThousandsGroup;
         locale_arg = locale.d()->doubleToString(a, prec, form, fieldWidth, flags);
     }
