From b4252802b3a537268b83855d2e13390bd5aedf5c Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Wed, 14 Aug 2013 14:22:25 +0300 Subject: [PATCH] Switch back to thumb for android armeabi. Add workaround for gcc 4.8 compile bug. Change-Id: Ie7a81ec25a79764989bbd9eb43dd5a8fbf442dfc Reviewed-by: Eskil Abrahamsen Blomfeldt Reviewed-by: Oswald Buddenhagen --- mkspecs/android-g++/qmake.conf | 10 ++++------ src/gui/text/qcssparser.cpp | 4 ++++ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/mkspecs/android-g++/qmake.conf b/mkspecs/android-g++/qmake.conf index 0afea12e60..f08132151c 100644 --- a/mkspecs/android-g++/qmake.conf +++ b/mkspecs/android-g++/qmake.conf @@ -109,13 +109,11 @@ equals(ANDROID_TARGET_ARCH, x86) { QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO = -g -O2 QMAKE_CFLAGS_DEBUG = -g -fno-omit-frame-pointer } else { # arm - QMAKE_CFLAGS_RELEASE = -Os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 - QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO = -g -Os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 - equals(ANDROID_TARGET_ARCH, armeabi-v7a) { - QMAKE_CFLAGS_RELEASE += -mthumb - QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -mthumb - } + QMAKE_CFLAGS_RELEASE = -mthumb -Os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 + QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO = -g -mthumb -Os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 QMAKE_CFLAGS_DEBUG = -g -marm -O0 -fno-omit-frame-pointer + equals(ANDROID_TARGET_ARCH, armeabi): equals(NDK_TOOLCHAIN_VERSION, 4.8): \ + DEFINES += QT_OS_ANDROID_GCC_48_WORKAROUND } QMAKE_CFLAGS_SHLIB = -fPIC diff --git a/src/gui/text/qcssparser.cpp b/src/gui/text/qcssparser.cpp index 1264330873..b486ec05fa 100644 --- a/src/gui/text/qcssparser.cpp +++ b/src/gui/text/qcssparser.cpp @@ -583,7 +583,11 @@ bool ValueExtractor::extractBorder(int *borders, QBrush *colors, BorderStyle *st case BorderRightStyle: styles[RightEdge] = decl.styleValue(); break; case BorderStyles: decl.styleValues(styles); break; +#ifndef QT_OS_ANDROID_GCC_48_WORKAROUND case BorderTopLeftRadius: radii[0] = sizeValue(decl); break; +#else + case BorderTopLeftRadius: new(radii)QSize(sizeValue(decl)); break; +#endif case BorderTopRightRadius: radii[1] = sizeValue(decl); break; case BorderBottomLeftRadius: radii[2] = sizeValue(decl); break; case BorderBottomRightRadius: radii[3] = sizeValue(decl); break;