summaryrefslogtreecommitdiffstats
path: root/src/corelib/global
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Merge remote-tracking branch 'origin/dev' into 5.11" into ↵Jani Heikkinen2018-02-105-160/+252
|\ | | | | | | refs/staging/5.11
| * Merge remote-tracking branch 'origin/dev' into 5.11Liang Qi2018-02-105-160/+252
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/tools/qvarlengtharray.qdoc src/corelib/tools/qvector.qdoc Resolved documentation changes in favor of 017569f702b6dd0, which keeps the move overloads along with its const-ref sibling. Change-Id: I0835b0b3211a418e5e50defc4cf315f0964fab79
| | * Introduce QT6_VIRTUAL and QT6_NOT_VIRTUAL macrosSergio Martins2018-02-051-0/+5
| | | | | | | | | | | | | | | | | | | | | To avoid QT_VERSION_CHECK ifdefs Change-Id: I364903964c72f4df19b8b7c10c19b82d24f63600 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * Support for LTTNG and ETW tracingRafael Roquetto2018-01-282-0/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit introduces minimal support for instrumentation within Qt. Currently, only LTTNG/Linux and ETW/Windows are supported. Change-Id: I59b48cf83acf5532a998bb493e6379e9177e14c8 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Update the overflow functions to include qsizetypeThiago Macieira2018-01-241-160/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 29bc68cf169b8cf87d306a1c72e12eb9b6fbfce7 added support for unsigned and commit 5ff7a3d96e0ce0dcb3d388b53d038cdd40c7a975 later added support for int. This commit adds support for qsizetype, which isn't int on 64-bit platforms. We do this by reorganizing the code and using the generic version of __builtin_{add,sub,mul}_overflow from GCC 5 and Clang 3.8, which ICC 18 seems to support now too on Linux. That leaves older versions of GCC and Clang, as well as MSVC, ICC on Windows, and the GHS compiler, to use the generic implementations, as I've removed the assembly code those versions of GCC and Clang on x86 are now uncommon. Note: any older version of ICC probably breaks. We only support the latest. Change-Id: I9e2892cb6c374e93bcb7fffd14fc11bcd5f067a7 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| | * Document the new qfloat16 functions with the other qfloat16 functionsAllan Sandfeld Jensen2018-01-241-0/+2
| | | | | | | | | | | | | | | Change-Id: I82d3fcda44a9a49d9027d865f8ed200134d0f79e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | logging: Use !QT_BOOTSTRAPPED instead of QT_BUILD_CORE_LIBTor Arne Vestbø2018-02-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The former is the preferred way in Qt to exclude code that shouldn't be built for bootstrap tools. For qlogging.cpp this includes the bootstrap library, and qmake, both of which have QT_BOOTSTRAPPED defined. Change-Id: I94b669aae308786eded92b30b5e3f63add069756 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | logging: Group alternate logging sink implementationsTor Arne Vestbø2018-02-091-58/+62
| | | | | | | | | | | | | | | Change-Id: Iac703559658edf16c56f4c54cf71cd6188d1db4e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Prevent duplicated log output when using alternate logging sinksTor Arne Vestbø2018-02-081-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3d02e75c07f was too quick, and didn't account for the fact that the old code had early returns for each alternate logging sink, so when removing the qt_logging_to_console() check, we would end up writing debug output twice. This is due to e.g. Qt Creator running the application without a console, so qt_logging_to_console() returns false, so we end up in e.g. the win_message_handler(), calling OutputDebugString, but then we unconditionally print to stderr, which Creator also reads, so we end up with duplicated log messages. Change-Id: I91573828576608643477ae27d36d7e819f92985d Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Fix inverted logic in slog2 log handler for when to disable loggingTor Arne Vestbø2018-02-081-1/+1
|/ / | | | | | | | | | | | | | | If we are logging to the console, we should _not_ log to slog2, like the other log backends. Change-Id: I6d16704c0f0923f54b3dc030d374af9805c2af06 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Document several WA_Mac attributes as obsoleteGabriel de Dietrich2018-02-051-13/+4
| | | | | | | | | | | | | | | | | | | | All of these had already no effect. Cleaned up a bit of code around old Qt 4 #ifdefs and documentation mentioning Carbon. Change-Id: Id2858c56a5785f82c47e20e1e760743fb4d08189 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | Unconditionally log to stderr, regardless of qt_logging_to_console()Tor Arne Vestbø2018-02-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Regression after 114f7952217c9c, which incorrectly assumed that checking qt_logging_to_console() was a safe behavior change to include. Unfortunately that broke debug output in Qt Creator, as Creator doesn't seem to run applications with a controlling TTY unless it itself was started with one, and doesn't set QT_LOGGING_TO_CONSOLE to force log console output either. Task-number: QTBUG-66153 Change-Id: I775cb06953122a3f20c16bfe21e19de2d1aa5b52 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Say hello to ImhNoEditMenu & ImhNoTextHandlesBogDan Vatra2018-02-052-0/+6
| | | | | | | | | | | | | | | | The actual implementation for Android will come later. Change-Id: Ia68fcb03ea5d769d302ec6f77e5666292b567ffa Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io> Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* | doc: Add 2 missing return types to \fn commandsMartin Smith2018-02-031-2/+2
|/ | | | | | | | | | | Return types were missing from two \fn commands, but clang-qdoc did not detect they were missing on macOS. clang-qdoc on linux did detect them. This could mean there is a problem with the function that matches a \fn signature with its declaration in the database. It might be too forgiving. Change-Id: I01f107a6162e2f36b594b5d3dd4029b8ef2db678 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* doc: Fix many qdoc warnings, mostly missing return typesMartin Smith2018-01-242-0/+44
| | | | | | | | | | | Fixed many cases of missing return types in \fn commands. Added a fake GLxxx typedef for a GL type that wasn't there because the GL includes weren't accessible. Also added some fake declarations for a few functions declared in namespace Qt in QtWidgets that must be seen by qdoc in QtCore. Change-Id: Id82476042d0563d32fa85c4ae81a58c1298a468a Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Merge remote-tracking branch 'origin/5.10' into devLiang Qi2018-01-201-1/+1
|\ | | | | | | | | | | | | Conflicts: tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp Change-Id: If089d5010d15c33b3c1f13912d4386207456c1a9
| * Only define QT_FASTCALL on x86_32Martin Storsjö2018-01-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | The __fastcall calling convention is silently ignored on other architectures. The GNU attribute regparm is allowed but doesn't make sense on x86_64. On other architectures, the attribute isn't supported at all. This fixes building with clang for MinGW/ARM and ARM64. Change-Id: Ice1c6eadd0e90b2e5e34736542ee49a25dc67fe6 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | doc: Fix several minor qdoc warningsMartin Smith2018-01-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | The fixes included undocumented enum values, which are now marked as omitted, adding a test for Q_CLANG_QDOC for a couple windows enum values, adding \fn commands for a pair of member functions in QLocale, and a \fn command for an obsolete function in QSqlError. Change-Id: I12a8ea7287039096b9cfe7870d2ab213a3d78dcf Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | logging: Factor out how to determine if a category is the default categoryTor Arne Vestbø2018-01-161-2/+7
| | | | | | | | | | Change-Id: I00a94c8c3ce2c0cba5263e6fbc499794dc7ef38f Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Add missing dead key symbolsMatt Whitlock2018-01-152-0/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt was missing symbols for many dead keys defined in <X11/keysymdef.h>. These dead keys were thus ignored by the "compose" input module. This commit adds the missing dead key symbols. [ChangeLog][Linux/XCB] Added missing dead key symbols, enabling their use with the "compose" input module. Task-number: QTBUG-56452 Change-Id: Ib5c37168990c9d9fa99fdd50f63b934c793e8dc4 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io> Reviewed-by: Matt Whitlock <qt@mattwhitlock.name>
* | Fix QNX 7 buildTor Arne Vestbø2018-01-141-2/+2
| | | | | | | | | | | | | | | | Missing return value after 114f795221. Task-number: QTBUG-65747 Change-Id: I8881fc70f76a163e7b1f032c7a7485ab09f852b1 Reviewed-by: Liang Qi <liang.qi@qt.io>
* | logging: Break out alternative logging sinks into a well defined APITor Arne Vestbø2018-01-121-30/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | First steps towards a public API for having multiple output sinks is to allow this internally. We give all the different log sinks the same signature, with a bool return value to signify if stderr has been handled. The logic of not logging to the alternative sinks when the function qt_logging_to_console() returns true has been moved into each sink, so that they in the future may choose to log even when also logging to the console, allowing multi-sink output. They must then make sure to return true if the native logging sink has also logged to stderr. The logic of each sink has been kept the same when it comes to the formatting of the message. Some of these sinks should ideally use the raw message instead of the formatted one, as they are structured logging sinks. Change-Id: I441d3bc1db3e16180704e00d13a40564b6f06a6c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | logging: Clarify that QT_MESSAGE_PATTERN only applies to unstructured loggingTor Arne Vestbø2018-01-121-0/+4
| | | | | | | | | | | | | | | | | | Structured sinks such as systemd should capture each piece of information individually, not bake it into the message via the message pattern. Change-Id: I164c043683f123764a5445dc9faad049e25fd738 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2018-01-111-0/+6
|\| | | | | | | | | | | | | | | | | Conflicts: src/3rdparty/harfbuzz-ng/src/hb-private.hh src/sql/doc/snippets/code/doc_src_sql-driver.cpp src/sql/doc/src/sql-driver.qdoc Change-Id: I38f0e82fcd37926cbf3c1915e009a731040d4598
| * moc: Initialize staticMetaObject with the highest user-settable priorityMartin Storsjö2018-01-091-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The referenced static meta object for the superclass might be in a different DLL. In this case, the whole QMetaObject can't be initialized all via preinitialized data in the data section of the binary, but must run code at runtime to fill in the value of the dllimported pointer. In these cases, both GCC and MSVC initialize as much as possible statically, while only filling in the dllimported values (QMetaObject::d::superdata) at runtime. Clang, on the other side, initializes the whole struct at runtime if some part of it needs runtime initialization, leaving the struct completely uninitialized before constructors are run. In C++, there are no guarantees for in what order constructors in different translation units are executed. This in particular means that there are no guarantees as to whether qRegisterWidgetsVariant() in qwidgetsvariants.cpp runs before or after the runtime initialization of QWidget::staticMetaObject. With GCC and MSVC, this doesn't seem to have mattered since only the superdata pointer of the staticMetaObject was uninitialized - everything else was initialized, and the superdata pointer doesn't seem to be accessed during qRegisterWidgetsVariant. With clang, the whole staticMetaObject is uninitialized, unless the staticMetaObject has been initialized before (and the initialization order is undefined). By setting a manual priority (which is a GCC extension that also clang supports) for the staticMetaObjects, we can be sure that these are initialized before the actual explicit constructor invocations (without any explicit initialization priority) that can access the staticMetaObjects. Change-Id: I64a82f12d690528567509791bae088b6304e189b Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | doc: Remove unnecessary qdoc declaration hackMartin Smith2018-01-092-5/+6
| | | | | | | | | | | | | | A special declaration for qdoc was no longer needed. Change-Id: Ib3486be5c016d57cf09ef89fc8df29045fef0577 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | QtCore: Raise minimum supported MSVC version to 2015Friedemann Kleint2018-01-085-85/+15
| | | | | | | | | | | | | | | | Remove code for older versions and streamline #ifdefs. Task-number: QTBUG-51673 Change-Id: I211703189ff12f827d94914093369736b6e65d4a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | doc: Correct remaining qdoc warnings in qstring.cppMartin Smith2018-01-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | Added missing template clause to \fn commands required by clang-qdoc. Removed several obsolete \sa targets. Added a few missing return types to \fn commands. Also changed a } to ] in a \fn command in qrandom.cpp. Change-Id: I0f004a1e57507ff5fb035e822ca8b1baa7faad9b Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | doc: Correct remaining qdoc warnings in QRandomGeneratorMartin Smith2018-01-021-15/+8
| | | | | | | | | | | | | | | | | | Due to the integration of clang in qdoc, several qdoc warnings appeared for class QRandomGenerator. This update corrects all the remaining qdoc warnings. Change-Id: I92fe9f7d9cb193e145ee8ad0e7198625b9a5bf7b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/5.10' into devLars Knoll2018-01-0215-72/+188
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf sc/corelib/io/qfsfileengine_p.h src/corelib/io/qstorageinfo_unix.cpp src/platformsupport/eglconvenience/qeglpbuffer_p.h src/platformsupport/input/libinput/qlibinputkeyboard.cpp src/platformsupport/input/libinput/qlibinputpointer.cpp src/plugins/platforms/cocoa/qcocoamenu.mm src/plugins/platforms/ios/qiosscreen.h src/plugins/platforms/ios/qioswindow.h src/plugins/platforms/ios/quiview.mm src/printsupport/dialogs/qpagesetupdialog_unix_p.h src/printsupport/dialogs/qprintpreviewdialog.cpp src/printsupport/widgets/qcupsjobwidget_p.h src/widgets/widgets/qmenu.cpp tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp Change-Id: Iecb4883122efe97ef0ed850271e6c51bab568e9c
| * Merge remote-tracking branch 'origin/5.9' into 5.10Lars Knoll2017-12-307-4/+78
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf mkspecs/win32-g++/qmake.conf src/corelib/global/qglobal_p.h src/corelib/global/qoperatingsystemversion_p.h src/corelib/io/qfilesystemengine_win.cpp src/network/bearer/qbearerengine.cpp src/platformsupport/input/libinput/qlibinputpointer.cpp src/sql/doc/snippets/code/doc_src_sql-driver.cpp src/widgets/kernel/qwidget_p.h src/widgets/kernel/qwidgetwindow.cpp src/widgets/styles/qfusionstyle.cpp tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp Change-Id: I80e2722f481b12fff5d967c28f89208c0e9a1dd8
| | * qfloat16: NaN is not infiniteThiago Macieira2017-12-271-2/+2
| | | | | | | | | | | | | | | | | | Change-Id: I39332e0a867442d58082fffd1502b7010424f0f8 Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
| | * Teach QPlatformWindow about safe area margins and implement for iOSTor Arne Vestbø2017-12-131-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The safe area margins of a window represent the area that is safe to place content within, without intersecting areas of the screen where system UI is placed, or where a screen bezel may cover the content. QWidget will incorporate the safe area margins into its contents margins, so that they are are never smaller than the safe area margins. This can be disabled by unsetting the Qt::WA_ContentsMarginsRespectsSafeArea widget attribute, which is set by default. QLayouts will automatically use the contents area of a widget for their layout, unless the Qt::WA_LayoutOnEntireRect attribute has been set. This can be used, along with a contents margin of 0 on the actual layout, to allow e.g. a background image to underlay the status bar and other system areas on an iOS device, while still allowing child widgets of that background to be inset based on the safe area. [ChangeLog][iOS/tvOS] Qt will now take the safe area margins of the device into account when computing layouts for QtWidgets. Change-Id: Ife3827ab663f0625c1451e75b14fb8eeffb00754 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| | * QNX: fix slog2 for QNX7Samuli Piippo2017-12-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the include header to sys/slog2.h, which is available in both QNX 6.6.0 and 7. Task-number: QTBUG-64033 Change-Id: I26d8c5451376bab33e11f4784ca772f84cd6fc28 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Add a "shim" to allow use of Clang 5's __builtin_available everywhereJake Petroules2017-12-086-9/+146
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is mostly relevant for Apple platforms, where we can use the new unguarded availability warnings to guarantee that proper version checks are present when using APIs that are not necessarily available on the deployment target. Change-Id: Ie408704b2924e1220491a9ea30f0141dfa4867d9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry-picked from 70422449ef892d7cc3086d88e5e9e43c771e2bc3)
| * | qrandom.h: actually #undef min and max instead of using parenthesesThiago Macieira2017-12-281-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Putting parentheses around the call to (std::numeric_limits<T>::min)() works, but the trick cannot apply to the min() function declaration on the same line. So we really need to #undef. I hope no one after the 1990s still needs these macros. Task-number: QTBUG-65414 Change-Id: I39332e0a867442d58082fffd15024f8edb293311 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| * | Replace a few hardcoded paths with defaults from paths.hThiago Macieira2017-12-241-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | This removes at least one special-case we had to have, in Android's lack of /etc/mnttab. Bionic's _PATH_MOUNTED is already /proc/mounts. Change-Id: I9407dcf22de6407c83b5fffd14fedc638586d0f9 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| * | Doc: attempt to fix some qdoc errors for QRandomGeneratorThiago Macieira2017-12-241-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes only those that look fixable. There are a number of errors in the online documentation that look like qdoc tool bugs, like missing functions (operator==) and documentation text that does not exist in the source code. This fixes: - QRandomGenerator(System) constructor showing up - Links for C++ reference documentation not showing up as links Change-Id: I9e2892cb6c374e93bcb7fffd14fe21db5a6969d9 Reviewed-by: Martin Smith <martin.smith@qt.io>
| * | Merge remote-tracking branch 'origin/5.10.0' into 5.10Liang Qi2017-12-086-33/+39
| |\ \ | | | | | | | | | | | | Change-Id: I6dcf85067ec226136c207ea69ca9d66736c84db5
| | * | Improve readability of code that uses the Qt signed size typev5.10.0-rc2Simon Hausmann2017-11-284-31/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During the container BoF session at the Qt Contributor Summit 2017 the name of the signed size type became a subject of discussion in the context of readability of code using this type and the intention of using it for all length, size and count properties throughout the entire framework in future versions of Qt. This change proposes qsizetype as new name for qssize_t to emphasize the readability of code over POSIX compatibility, the former being potentially more relevant than the latter to the majority of users of Qt. Change-Id: Idb99cb4a8782703c054fa463a9e5af23a918e7f3 Reviewed-by: Samuel Gaist <samuel.gaist@edeltech.ch> Reviewed-by: David Faure <david.faure@kdab.com>
| | * | QRandomGenerator: Enforce the use of 32-bit integers in the engineThiago Macieira2017-11-201-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | std::mt19937 is defined as operating on uint_fast32_t, which is usually just a 32-bit integer. That's not the case on 64-bit Linux, where it is actually 64-bit wide, meaning sizeof(std::mt19937) jumps from 2504 to 5000 bytes, with exactly 50% of it filled with zeroes. The seed() function also needs a large zero-extending loop. Change-Id: Icaa86fc7b54d4b368c0efffd14efa911e2a40b44 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * | Merge 5.10 into 5.10.0Oswald Buddenhagen2017-11-205-347/+788
| | |\ \ | | | | | | | | | | | | | | | Change-Id: Ibfbaa8ef89cf45b87a2c65f1da4a708e5464f259
| | * | | QTemporaryFile: hide the O_TMPFILE feature behind a check for linkat()Thiago Macieira2017-11-112-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some Linux libc (I'm looking at you, Bionic) use the system call but don't expose it to userspace. We could use syscall() to make the system call, but instead I decided to penalize users of those libc by not having the feature. It's probably a good thing, since there were likely to be more problems with Android anyway and I don't have an environment to debug. Task-number: QTBUG-64154 Change-Id: I57a1bd6e0c194530b732fffd14f3007a1062d935 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * | | | Fix qdoc warnings for 5.10Friedemann Kleint2017-12-041-6/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | src/corelib/global/qrandom.cpp:915: warning: Cannot find 'bounded(...)' in '\fn' qreal QRandomGenerator::bounded(qreal highest) src/corelib/tools/qstring.cpp:774: warning: Command '\snippet (//! [qCompareStrings-QSV-QSV])' failed at end of file 'qstring/main.cpp' src/corelib/tools/qstring.cpp:5281: warning: Cannot find 'qTrimmed(...)' in '\fn' QStringView qTrimmed(QStringView s) src/corelib/tools/qstring.cpp:5281: warning: Cannot find 'qTrimmed(...)' in '\fn' QLatin1String qTrimmed(QLatin1String s) src/corelib/global/qrandom.h:171: warning: No documentation for 'QRandomGenerator::System' src/corelib/global/qrandom.h:105: warning: No documentation for 'QRandomGenerator::bounded(double highest)' src/corelib/global/qrandom.h:84: warning: No documentation for 'QRandomGenerator::generate64()' src/corelib/global/qrandom.h:77: warning: No documentation for 'QRandomGenerator::generate()' src/corelib/global/qrandom.cpp:799: warning: No such parameter 'sseq' in QRandomGenerator::seed() src/corelib/global/qrandom.cpp:1096: warning: Can't link to 'operator()()' src/corelib/tools/qstring.cpp:8982: warning: Can't link to 'qStartsWith()' src/corelib/tools/qstring.cpp:9203: warning: Can't link to 'qTrimmed()' src/corelib/tools/qstring.cpp:4798: warning: Can't link to 'qConvertToLatin1()' src/corelib/tools/qstring.cpp:4825: warning: Can't link to 'qConvertToLocal8Bit()' src/corelib/tools/qstring.cpp:4928: warning: Can't link to 'qConvertToUcs4()' src/corelib/tools/qstring.cpp:4884: warning: Can't link to 'qConvertToUtf8()' Change-Id: I5c7c89b230d3d1de8a679c10833319a470a44e80 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | | | Fix build with -no-feature-regularexpressionUlf Hermann2017-12-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The thing we are looking for in qstandardpaths_unix.cpp is regularexpression, not QT_BOOTSTRAPPED. Change-Id: I37eb0cdd8a52b0adfd69f592b84659e8807e35ad Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | | | Fix build with ICC: it miscompiles the F16C intrinsicsThiago Macieira2017-12-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By not actually making them intrinsic, leading to linker errors: /home/qt/work/qt/qtbase/src/corelib/global/qfloat16_f16c.c:61: undefined reference to `_mm256_cvtps_ph' /home/qt/work/qt/qtbase/src/corelib/global/qfloat16_f16c.c:76: undefined reference to `_mm256_cvtph_ps' I had the workaround applied, but only for "intel_icl", the qmake config for the Intel compiler compatible with MS cl.exe options. The one for compatibility with Unix cc (intel_icc) was missing. Task-number: QTBUG-65367 Change-Id: I39332e0a867442d58082fffd15020e4838b6a01d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | | | qfloat16_f16c.c: inline in qfloat16.cpp if F16C is permitted in thereThiago Macieira2017-12-153-4/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is going to be the most common scenario for GCC: all recent versions allow compiling F16C code in the same source, thus generating better code. MSVC is excluded unless AVX is already turned on by the user in the mkspec file, because it fails to use the VEX-prefixed instructions for everything else, printing a warning that it knows it should have done so. ICC is excluded because it's known to generate invalid code when using the F16C intrinsics unless F16C is turned explicitly on. Clang is excluded because it runs into an internal error compiling this code unless F16C is turned explicitly on. Change-Id: I57a1bd6e0c194530b732fffd14f58de6a46f0de1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | | | doc: Add template text to \fn commands in qglobal.cppMartin Smith2017-12-082-85/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This update corrects many qdoc warnings in qglobal.cpp caused by incomplete \fn commands. It also corrects many undocumented parameter errors caused by clang's requirement that the formal parameter names be the same in both the declaration in the include file and the \fn command. Some formal parameter names were changed in the declarations in the header file. Change-Id: I4cd38f30461c585b97ec11923cdbc81a41fe00b8 Reviewed-by: Martin Smith <martin.smith@qt.io>
* | | | | doc: Fix all qdoc errors in qnumeric_p.hMartin Smith2017-12-041-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These errors resulted from clang parsing function declarations for functions that were not meant to be documented. Here they are hidden from clang with #ifndef Q_CLANG_QDOC Change-Id: I256b49830b63188bf0a685cb393d469f2f2ca315 Reviewed-by: Martin Smith <martin.smith@qt.io>
* | | | | doc: Add missing template textMartin Smith2017-12-041-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are two fake classes in qendian.h that exist only documenting a lot of operator functions, but now that clang is being used to parse all C++ code, when a class is a template class, clangqdoc must see its template stuff to recognize template type T, for example. Hence, this update adds template<typename T> to some fake class declarations used only for documentation purposes. ie, inside #ifdef Q_CLANG_QDOC. Change-Id: I1988b77cd7f3bb97067e7107dd00de34770e9fed Reviewed-by: Topi Reiniö <topi.reinio@qt.io>