summaryrefslogtreecommitdiffstats
path: root/src/corelib/global
Commit message (Collapse)AuthorAgeFilesLines
* Reorder member variables to avoid padding.Volker Krause2015-05-141-2/+2
| | | | | | | Saves 8 byte in each case on 64bit systems, no change on 32bit systems. Change-Id: I2a2e8786fc7914ee9ae369ba05bedfc9e5e0ca5c Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* QSysInfo: Expand Linux distribution detectionCaroline Chao2015-05-131-10/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Expand Linux distribution detection to /etc/redhat-release and /etc/debian_version to follow what /usr/bin/lsb_release script does. If /usr/bin/lsb_release fails to extract the distribution information from /etc/lsb-release, it then checks /etc/redhat-release and, as a last fallback, /etc/debian_version. Some Red Hat distributions have a /etc/lsb-release file that does not provide the values we are looking for (DISTRIB_ID, DISTRIB_RELEASE and DISTRIB_DESCRIPTION). If both productType or productVersion are empty after reading /etc/lsb-release, readEtcLsbRelease() will return false, allowing further parsing of /etc/redhat-release. This scenario mimics what the /usr/bin/lsb_release script does if /etc/lsb-release does not contains enough information. The productType and productVersion returned by QSysInfo after reading /etc/redhat-release match the distributor id and release information returned by the /usr/bin/lsb_release script. For Debian Linux distributions where /etc/os-release, /etc/lsb-release and /etc/redhat-release are not available nor usable, the /usr/bin/lsb_release script also checks for the /etc/debian_version file. In this case, we also enable parsing of /etc/debian_version to retrieve a fallback productVersion, the productType being set to Debian. Change-Id: Ia20d513d78be8a8ee8c0410d0aaa052fde81a41d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into merge5.5Allan Sandfeld Jensen2015-05-081-2/+2
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.h src/corelib/io/qnoncontiguousbytedevice_p.h src/gui/image/qjpeghandler.cpp src/network/access/qhttpthreaddelegate_p.h tests/auto/corelib/io/qlockfile/tst_qlockfile.cpp tests/auto/widgets/widgets/qmenubar/BLACKLIST Change-Id: I01de8c1c28efcedfd7953d05025f54802dc08ab3
| * Merge remote-tracking branch 'origin/5.4.2' into 5.4Allan Sandfeld Jensen2015-05-081-2/+2
| |\ | | | | | | | | | Change-Id: I944e9e59d28172290930db0e162c1597ad05c59e
| | * Require -fPIC instead of just -fPIE for -reduce-relocationsThiago Macieira2015-05-071-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GCC 5 combined with a recent binutils have a new optimization that allows them to generate copy relocations even in -fPIE code. Clang has the same functionality when compiling an executable with -flto. We need to let the compilers know that they cannot use copy relocations, so they need to use really position-independent code. Position independent code throughout is not really required. We just need the compilers to use position-independent access to symbols coming from the Qt libraries, but there's currently no other way of doing that. Task-number: QTBUG-45755 Change-Id: I0d4913955e3745b69672ffff13db5df7377398c5 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
| * | Bump versionOswald Buddenhagen2015-04-201-2/+2
| |/ | | | | | | Change-Id: I9435dd001b6067464d7c04fbdf92b5b3ad546bac
* | Make it explicit that a few Qt::WindowFlags are overlappingTor Arne Vestbø2015-05-071-3/+6
| | | | | | | | | | | | Change-Id: Ia161fb9b7196d139e22fe7b3b576c5c72ee8a2f1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | qsystemdetection.h: Check existence of define WINAPI_FAMILY_PHONE_APP.Friedemann Kleint2015-04-221-1/+1
| | | | | | | | | | | | | | | | | | | | It is missing in MinGW and causes warnings like: src/corelib/global/qsystemdetection.h:109:24: error: "WINAPI_FAMILY_PHONE_APP" is not defined [-Werror=undef] in QtScript and headersclean failures in Active Qt. Task-number: QTBUG-45666 Change-Id: I167d9d5b33faddfbbcf44bdcce5e86fb43614fa9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Enable checking for whether the system palette was explicitly setHarald Hvaal2015-04-202-0/+4
| | | | | | | | | | | | | | | | | | | | In order to obey a palette set globally on QApplication, an application attribute for checking if it's set at all is added. Task-number: QTBUG-39800 Change-Id: I26b965e6e18e0e1ca4df03cf343b3527df3636b2 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.4' into 5.5Liang Qi2015-04-152-27/+27
|\| | | | | | | Change-Id: I004854a25ebbf12b1fda88900162fe7878716c58
| * Doc: Fix using Apple-related terminology in Qt CoreAlexander Volkov2015-03-312-27/+27
| | | | | | | | | | | | | | | | | | | | | | Use the name "OS X" instead of "Mac OS X", "Mac OS" and "OSX", and mention iOS. Replace "Carbon Preferences API" by "CFPreferences API" in the QSettings documentation. Change-Id: Ia7f9fb874276c7c445a1649df521b96ff43daa0c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* | Fix BlackBerry build.Sérgio Martins2015-04-041-0/+3
| | | | | | | | | | | | | | | | BlackBerry SDK uses gcc 4.6 which supports nullptr, but by default it uses the dinkum C++ library, which doesn't support nullptr_t. Change-Id: Ifa95029a9bfa4dc2fc064db5d7a67012e95ac0e2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Windows: Use FORMAT_MESSAGE_IGNORE_INSERTS for qt_error_string().Friedemann Kleint2015-04-011-1/+1
| | | | | | | | | | | | | | | | | | | | This will cause FormatMessage() to return messages with placeholders as well even though we do not pass the message parameters (for example: "The operating system cannot run %1." for ERROR_INVALID_ORDINAL). Task-number: QTBUG-43164 Change-Id: Ib95c1c0fabb543bbe4e8ab2bd8f244f73dff5fa4 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | Update a few doc regarding Q_FLAGOlivier Goffart2015-04-011-1/+1
| | | | | | | | | | Change-Id: Ic26b3d64c9a5d5109bd8a0b359f063529d0181fc Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* | Force length of prefix path to be calculated at runtimeKai Koehne2015-04-011-1/+1
| | | | | | | | | | | | | | | | | | | | Prevent compilers from calculating strlen at compile time by using a volatile pointer. This corrupted paths if the installation path is patched for the binary SDK installer. Task-number: QTBUG-45307 Change-Id: I624b0409e8b27299475a88eb1cbf03ffef9589c6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.4' into 5.5Liang Qi2015-03-311-2/+4
|\| | | | | | | | | | | | | | | | | Conflicts: mkspecs/android-g++/qmake.conf qmake/generators/unix/unixmake2.cpp src/gui/image/qimage_conversions.cpp Change-Id: Ib76264b8c2d29a0228438ec02bd97d4b97545be0
| * Doc: Added the missing description for WindowShadeButtonHintVenugopal Shivashankar2015-03-251-1/+2
| | | | | | | | | | | | Task-number: QTBUG-44017 Change-Id: I024faa6214a041403f23fd91f0c8c38eabeef31e Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
| * Clarify InputMethodHint documentationPaul Olav Tvete2015-03-111-1/+2
| | | | | | | | | | | | | | | | | | | | | | The description of ImhHiddenText made it sound like it would change the echoMode of the input field. Task-number: QTBUG-38080 Change-Id: I379015b95e43b6eff181d51444c7e069728504ad Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* | Use Q_NULLPTR for the null pointers used in macrosThiago Macieira2015-03-301-2/+2
| | | | | | | | | | | | | | | | | | User code should build with -Werror=zero-as-null-pointer-constant Task-number: QTBUG-45291 Change-Id: Iee8cbc07c4434ce9b560ffff13d0031979b4c2fe Reviewed-by: Matthew Woehlke <mw_triad@users.sourceforge.net> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | Add QT_Q_FLAG for Qt::MouseEventFlag.Friedemann Kleint2015-03-271-0/+1
| | | | | | | | | | | | | | Enable formatting it in debug streaming operators. Change-Id: I92efb70471653bbd4d91588f333ee132b392bf0c Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Add Qt::WindowFlag to signal that maximizing should cover full screen geometryTor Arne Vestbø2015-03-272-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Normally when maximizing a window it will cover the available geometry of the screen, as represented by QScreen::availableGeometry(), which typically excludes status/menu bars and application launchers. On some platforms it may still be possible to place windows in the areas of the screen that are outside of the available geometry, but this will result in the window being partially covered by (possibly) transparent system UIs. The new flag allows the user to specify that when maximizing the window it should try to cover as much as possible of the screen geometry (in contrast to going full screen, which would typically hide any system UIs). For iOS this is a common use-case, as the status bar is transparent, and the user-interface guidelines for iOS7 and up recommend taking advantage of the full screen space, while keeping any user-interaction elements still inside the available geometry of the screen. Change-Id: I86d7fc937916d9cae245f7a3f9ae46abd92cdd29 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* | Update strtoll and strtoull from upstream FreeBSDThiago Macieira2015-03-261-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There appears to be at least one fix, related to sign- or zero-extension in the call to isspace(). So it's a good idea to update again. This also brings the behavior to match strtoll and strtoull on Linux, including the fact that strtoull will parse negative numbers. For that reason, qstrtoll and qstrtoull are now wrappers that try and keep the behavior that we used to have. This update also changes the code from a 4-clause BSD license (bad) to a 3-clause BSD license (good). Change-Id: I73b01b02ebd1551bf924599d52284ad25cc1def0 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Make Q_ASSERT_X also check its argument for validityThiago Macieira2015-03-122-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | Commit ebef2ad1360c80ad62de5f4a1c4e7e4051725c1c did it for Q_ASSERT, but I somehow forgot to do it for Q_ASSERT_X. Do it now. This includes the fix from 9a3d7adaad367417aaa2e1ee1f996185a881a4b5 to silence a Clang warning. Change-Id: Iee8cbc07c4434ce9b560ffff13ca066a5b5ab5d4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Clean up QLibraryInfoPrivate::findConfiguration()Ulf Hermann2015-03-111-22/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The QFile::exists() check in the end was redundant if one of the !QFile::exists() had returned false before. By always doing the positive check we can get rid of it and also avoid excessive nesting. Also, on OSX the isEmpty() clause probably never evaluated to true, with the effect that qt.conf in an applicationDirPath was never found. Change-Id: I750735741b707d3e98c4bf6c6b9558618e1fcc59 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Detect qt.conf in bundle on OSX without QCoreApplicationUlf Hermann2015-03-101-2/+4
| | | | | | | | | | | | | | | | | | | | On OSX we don't need the applicationDirPath to find a qt.conf located in the application bundle. Let's take advantage of this and allow findConfiguration to use it. Task-number: QTBUG-24541 Change-Id: I38c349a3bcd140fcf91352c88c24ca662e6e6f2e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Reload QLibraryInfo's settings when QCoreApplication becomes availableUlf Hermann2015-03-101-2/+21
| | | | | | | | | | | | | | | | | | | | | | | | Some of the paths may only be resolvable if the application path is known. On some platforms we can only figure out the application path if argv[0] is known. Thus, if the paths have been queried before the QCoreApplication is created, the cached settings may be wrong. We have to reload them after creating the QCoreApplication. Task-number: QTBUG-38598 Change-Id: Idf5822be87aa0872b099480040acd7b49939a22c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | iOS: Define QT_NO_PROCESS, as the platform doesn't allow fork/execTor Arne Vestbø2015-03-061-0/+4
| | | | | | | | | | | | Change-Id: I0928c4aaa0c308ee86b9611beeba3937b61e226c Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* | Fix -Wunreachable-code warning from clang in preprocessed Q_ASSERTThiago Macieira2015-03-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Q_ASSERT expands to: do {} while (false && (<your condition>)) Which is fine for Clang as long as it's a macro. However, when you compile as a preprocessed source, the macro is gone and Clang prints the warning: warning: code will never be executed [-Wunreachable-code] do {} while (false && (f())); ^ note: silence by adding parentheses to mark code as explicitly dead So add the parentheses that it's asking about. The changelog refers to the full Q_ASSERT change from ebef2ad1360c80ad62de5f4a1c4e7e4051725c1c. [ChangeLog][Important Behavior Changes] Q_ASSERT will now expand the condition even in release mode when asserts are disabled, albeit in an unreachable code path. This solves compiler warnings about variables and functions that were unused in release mode because they were only used in assertions. Unfortunately, codebases that hid those functions and variables via #ifndef will need to remove the conditionals to compile with Qt 5.5. Change-Id: Ia0aac2f09e9245339951ffff13c8aa70229254d0 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Make some QAbstractItemModel API invokableStephen Kelly2015-03-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As QAIM and related classes are becoming more useful in the QML environment, it makes sense to make these invokable. Make the access API and the setData method scriptable. Avoid making the structure changing APIs scriptable now to be conservative. Export the ItemDataRole enum through the staticQtMetaObject to make built-in roles available. Change-Id: I47b1682e6fa8ba32c7314c73fc10a7bbaa6d1f98 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com> Reviewed-by: Stephen Kelly <steveire@gmail.com>
* | QEvent types: use Q_ENUM qDebug support instead of custom formattersShawn Rutledge2015-03-031-0/+1
| | | | | | | | | | Change-Id: I10886de57b3ba24dddfcd4b78e1a32c470ac1889 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.4' into 5.5Oswald Buddenhagen2015-03-021-1/+3
|\| | | | | | | Change-Id: I95b3a87c5068c6b8068b30a35655b4c2419e7f9e
| * fix default of SettingsPath when qt.conf is presentOswald Buddenhagen2015-02-251-1/+3
| | | | | | | | | | | | | | | | | | it's documented to fall back to Prefix if qt.conf is present but Settings is not specified. Task-number: QTBUG-44644 Change-Id: I8ef6659cbdad51b2fb3c1075ea6f0af4997117ed Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | QSysInfo: expand Linux distribution detection to /etc/lsb-releaseThiago Macieira2015-02-251-31/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some older (or weird) Linux distributions don't have /etc/os-release, so let's try to read /etc/lsb-release instead. If we find a file called /etc/<distronamelowercase>-release and it's bigger than the pretty name we read from /etc/lsb-release, use that. Because the order of the keys changes between the two *-release files, we can't do a sorted search anymore. Change-Id: I1a800c709d3543699131ffff13c48532d5074f3c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Dirk Hohndel <dirk@hohndel.org> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Doc: Fix typosSergio Ahumada2015-02-251-1/+1
| | | | | | | | | | | | | | Change-Id: Id7ecc747545f9675b84c3a8c284a52e72a584135 Reviewed-by: Sune Vuorela <sune@vuorela.dk> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
* | Merge remote-tracking branch 'origin/5.4' into 5.5Frederik Gladhorn2015-02-244-14/+28
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/xml/htmlinfo/simpleexample.html examples/xml/rsslisting/rsslisting.cpp qmake/generators/win32/msbuild_objectmodel.cpp src/3rdparty/harfbuzz-ng/src/hb-private.hh src/corelib/global/qlogging.cpp src/corelib/io/qstorageinfo_unix.cpp src/corelib/thread/qwaitcondition_unix.cpp src/gui/kernel/qguiapplication.cpp src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp src/testlib/doc/src/qt-webpages.qdoc tests/auto/other/qaccessibility/tst_qaccessibility.cpp Change-Id: Ib272ff0bc30a1a5d51275eb3cd2f201dc82c11ff
| * Doc: corrected link/autolink issues in corelibNico Vertriest2015-02-241-4/+3
| | | | | | | | | | | | Task-number: QTBUG-43115 Change-Id: I31da92e3a7c4dd7b75ee283dbfecd77e284978ca Reviewed-by: Martin Smith <martin.smith@digia.com>
| * work around MSVC level 4 warningJoerg Bornemann2015-02-171-0/+1
| | | | | | | | | | | | Change-Id: Ide3541a8a1a16a1f9b6b01f54d5b2f6ab178c3ac Task-number: QTBUG-7233 Reviewed-by: hjk <hjk@theqtcompany.com>
| * qFormatLogMessage: optimize %{backtrace}Olivier Goffart2015-02-141-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | backtrace_symbols is very slow because it tries to find the function name from the address. In order to do that it needs to do a linear search over all symbols. (Because the hash table goes the other way to find the address from the symbol name) The code is going to skip a few frames from QtCore. Since we cannot know how many, we take a few more than necessary. This patch changes the additional number of frames from 15 to 7 (Usually, there are about 5 suppressed frames). We call backtrace_symbols several times for only one frame at the time. So we are not looking up addresses we don't need after we printed the right number of frames. Calling many times backtrace_symbols means we do more malloc, but that's negligible compared to the time we save. We anyway do a lot of other allocations because of the regexp operations and such So this patch is then saving about 10 frames lookups which allow to print about 6 qDebug per miliseconds instead of only 2 when using %{backtrace depth=2} Change-Id: Ic6ece2145d53dc570c80fcb0e4455dcef6bc40cb Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
| * Merge remote-tracking branch 'origin/5.4.1' into 5.4Frederik Gladhorn2015-02-102-3/+10
| |\ | | | | | | | | | Change-Id: I9d668a655b548feab43e9d4b03e2437bdff76437
| | * Fix compilation with Apple Clang 425Thiago Macieira2015-02-091-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This version was based on Clang mainline between releases 3.1 and 3.2, which means it has part of 3.2 features but not all. One of the missing features is __builtin_bswap16. Cherry-picked from ec9bc843d8a5c18459f3669c6e22acac2077df67 on 5.4 Change-Id: Ic5d393bfd36e48a193fcffff13b95664c7f664de Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| | * Fix memory leak in qSetMessagePatternKai Koehne2015-02-021-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | We were leaking memory in case setPattern was called multiple times Task-number: QTBUG-43893 Change-Id: Icd9c214edea064aeaeb6f92a9c62836238ccd344 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| | * Correct the version of ICC that has the constexpr bug fixedThiago Macieira2015-01-291-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | 01fc82e3574614762d2ce061dd45ce4995c79e7f updated the code for ICC 15, but it needs to be 15.0.1 Change-Id: Iba8d819ab9174d9dac07ffff13bbc26b9be46d53 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * | logging: Check if uClibc has backtrace supportFatih Aşıcı2015-02-091-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | execinfo.h is optional in uClibc. We need to check __UCLIBC_HAS_BACKTRACE__ if uClibc is used. Change-Id: Ie28be85b0b70472df1fc4a208581bb66ad34229e Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Merge dev into 5.5Oswald Buddenhagen2015-02-232-3/+5
|\ \ \ | | | | | | | | | | | | Change-Id: Id6dbbbfc542c214fe695c6795c6aaf23aedc1cd1
| * | | Haiku: Use 'unknown' as QSysInfo::productType()Tobias Koenig2015-02-201-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are no actual products of Haiku, so using 'unknown' (the default) is fine, otherwise the file platform selector would be '+unix/+haiku/+haiku' instead of '+unix/+haiku'. Change-Id: Id7653098e20374885a50c09e2aaac9e6fcfc6efb Reviewed-by: Augustin Cavalier <waddlesplash@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | | Disable constexpr support for QNXSean Harmer2015-02-201-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Even though the compiler on QNX supports C++11, the stdlib it ships with is missing constexpr on many important functions. This is required to make qtbase compile on QNX 6.6. Change-Id: I59a4263483b1d94b9d2dceb947876e445f9662af Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* | | | Merge remote-tracking branch 'origin/dev' into 5.5Frederik Gladhorn2015-02-173-0/+12
|\| | | | | | | | | | | | | | | | | | | | | | | Needed due to license header patch. Change-Id: Id7e30490132a7c487687a0a376419e9f9b97ea41
| * | | Introduce QT_NO_MIMETYPESérgio Martins2015-02-173-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The mime type stuff generates one of the biggest translation units in QtCore due to the compressed 1.7MB freedesktop.org.xml resource. With QT_NO_MIMETYPE, libQt5Core.so is almost 400Kb smaller (4.8MB->4.4MB gcc 4.9 stripped release build) Change-Id: I5339090994034355724ff4deddb64720e81baeaf Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | | | Use Clang 3.6's __builtin_assume in Q_ASSUMEThiago Macieira2015-02-171-1/+5
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's more efficient than the current implementation. Example: int f(int i) { Q_ASSUME(i < 8); return i < 8; } Before: cmpl $8, %edi setl %al movzbl %al, %eax retq After: movl $1, %eax retq Change-Id: I1a800c709d3543699131ffff13c1c50713a8da2c Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | | QLogging: use return-by-value in qt_messageMarc Mutz2015-02-121-40/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This also enables NRVO in almost all callers (a macro prevents it in one case), saving one default construction and one (move) assignment per call. Effects on Linux GCC 4.9 stripped release builds: text -896B data +-0B relocs +-0 Change-Id: Id3cde01057baaa408c4cbf95d8d15eaeeeec1604 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>