summaryrefslogtreecommitdiffstats
path: root/src/corelib/global
Commit message (Collapse)AuthorAgeFilesLines
* Doc: Mark local functions in qlogging.cpp as internalKai Koehne2018-04-231-0/+3
| | | | | | | This fixes qdoc warnings introduced by 67d5f79fe6f86726eff. Change-Id: I4b199e6243d9a7706befe4bc9549c78c11026d9e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Doc: Add missing punctuation in qCritical, qFatal documentationKai Koehne2018-04-051-2/+2
| | | | | Change-Id: If4175502f81e569f031d97da6cc7f5d46428442a Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Revert "Detect C standard and try using the most recent"Friedemann Kleint2018-03-261-1/+1
| | | | | | | | | | | | | | The change causes a crash when compiling the xkbcommon 3rdparty library and compile failures (qtimageformats on Android). This reverts commit a47cb146809e32f43449dcfe9932833c2f0ab987. Task-number: QTBUG-67326 Task-number: QTBUG-67327 Change-Id: I5ddc4eccad699e3eaec535fd6a63d11b0026b42e Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io> Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* Make sure we can build with -no-feature-itemmodelUlf Hermann2018-03-211-0/+1
| | | | | | | Various pieces of code have to be disabled in this case. Change-Id: I83b133f17e9f024016a79c9103293627185449d2 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Detect C standard and try using the most recentAllan Sandfeld Jensen2018-03-211-1/+1
| | | | | | | Fixes the default C version used with gcc < 5 Change-Id: I948dece961caed8e6b181e1c6e6b9dc43c46583f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Modernize the "regularexpression" featureUlf Hermann2018-03-201-2/+2
| | | | | | | | | | | | | Use QT_CONFIG(regularexpression), disentangle it from QT_BOOTSTRAPPED, switch it off in the bootstrap build, remove the #ifdefs from qregularexpression.{h|cpp}, and add QT_REQUIRE_CONFIG(regularexpression) to the header. qregularexpression.{h|cpp} are already correctly excluded in tools.pri if !qtConfig(regularexpression). Change-Id: I21de154a6a118b76f99003d3acb72ac1e220d302 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* q{,Utf8}Printable: avoid creating a copy of a QStringThiago Macieira2018-03-181-2/+3
| | | | | | | | | | | | | | | | | We have this QString() constructor call to permit things that convert to QString but aren't QString to be used in qPrintable, like a QStringBuilder-powered fast operator+ expression, like: qPrintable(string1 + ": " + string2) Unfortunately, it meant that we unnecessarily created a QString copy if the input was already QString. Change-Id: Iecab8770aa5840aba8edfffd1516bc94cec791a9 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* qglobal.h: compile Q_UINT64_C in C modeThiago Macieira2018-03-171-0/+5
| | | | | | | This is used by qfloat_f16c.c → qsimd_p.h → qsimd_x86_p.h. Change-Id: I359898686ce545f69847fffd151c785237a54b94 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Remove needless #include <sys/random.h> from qrandom.cppEdward Welbourne2018-03-131-3/+1
| | | | | | | | | | | Tripped over by Alexei Fedotov and brought to light on the developer list; Thiago says it's a left-over from before reworking to actually use getentropy() instead of getrandom(); it should no longer be needed. Change-Id: Id09b0628e58fa62170a0f0da35b2b121f3fb0172 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* logging: Clarify and document how we look for the presence of a consoleTor Arne Vestbø2018-03-072-52/+163
| | | | | | | | | | | | | The privately exported qt_logging_to_console() function has been renamed to shouldLogToStderr, and exported in the QtPrivate namespace for QtTestLib. [ChangeLog][Important behavior changes][Logging (including qDebug and qWarning)] The QT_LOGGING_TO_CONSOLE environment variable has been deprecated. Use the more specific QT_ASSUME_STDERR_HAS_CONSOLE or QT_FORCE_STDERR_LOGGING, depending on your usecase. Change-Id: Ie29228eeac3b700c3de94fee022d5d66d9b5c210 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* moc: Only use the init_priority attribute when targeting windowsMartin Storsjö2018-02-221-1/+1
| | | | | | | | | | | | | | | | | | | | While both GCC and the GCC compatible clang support this attribute in general, GCC doesn't support it when targeting macOS, ending up with errors like these: error: 'init_priority' attribute is not supported on this platform This error isn't a property of the platform itself though, since clang supports the attribute just fine on macOS. The attribute is only used to work around an issue with dllimport on windows, so limit its use to that platform, to avoid issues with it potentially being unsupported on platforms other than macOS as well. This fixes compiling with GCC for macOS. Change-Id: I0235e6365635d73233951566c10ad869b26a0fc6 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* fix missing __builtin_mul_overflow for Windows ICCAlexander Shevchenko2018-02-151-1/+1
| | | | | | | | Complete 43c44d05ca6af4ec78c1dea84635375a637ff80d to cover builds using Windows ICC. Change-Id: I5f4d62f17b54835a58f3002744574c514cce5e39 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge remote-tracking branch 'origin/5.10' into 5.11Liang Qi2018-02-151-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/corelib.pro src/corelib/global/qrandom.cpp src/network/access/qhttpnetworkrequest_p.h src/plugins/platforms/cocoa/qcocoamenu.mm src/plugins/platforms/cocoa/qcocoansmenu.mm src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/cocoa/qnsview.mm src/plugins/platforms/offscreen/qoffscreenintegration.h src/widgets/kernel/qaction.cpp src/widgets/widgets.pro Done-with: Andy Shaw <andy.shaw@qt.io> Change-Id: Ib01547cf4184023f19858ccf0ce7fb824fed2a8d
| * Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2018-01-244-11/+11
| |\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.cpp src/corelib/global/qrandom.cpp tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp Change-Id: Icc10543a1f2db5d640d01796bfec70a63517a6b2
* | | Fix compiling qfloat16_f16c.c with C89 compilerAllan Sandfeld Jensen2018-02-141-2/+4
| | | | | | | | | | | | | | | | | | | | | Needed by gcc 4.8 Change-Id: I2daa5728761599255cf3912d37e7b9dd60ccb60c Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | | Merge remote-tracking branch 'origin/5.9' into 5.11Liang Qi2018-02-143-7/+7
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/corelib/animation/qvariantanimation.cpp src/corelib/global/qglobal.cpp src/corelib/global/qlogging.cpp src/corelib/io/qprocess_win.cpp src/corelib/json/qjsonarray.cpp src/corelib/tools/qsimd_p.h src/corelib/tools/qtimezoneprivate_p.h src/corelib/xml/qxmlstream_p.h src/gui/kernel/qsimpledrag.cpp src/gui/kernel/qsimpledrag_p.h src/plugins/generic/generic.pro src/plugins/platforms/cocoa/qcocoamenu.mm src/widgets/styles/qmacstyle_mac.mm tests/auto/concurrent/qtconcurrentmap/BLACKLIST tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp tests/auto/gui/kernel/qwindow/BLACKLIST tests/auto/widgets/dialogs/qmessagebox/BLACKLIST Change-Id: I508d686cf20f7f8cc6a7119b9bc7c3bbb505c58e
| * | Support for Q_OS_ANDROID_EMBEDDED and android-embedded build flagsOtto Ryynänen2018-01-203-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Embedded Android build (Boot to Qt Android injection) is defined by having both Q_OS_ANDROID and Q_OS_ANDROID_EMBEDDED flags defined, as well as having Qt config android-embedded. This commit enables the possibility to build embedded Android builds. (i.e. Qt build for Android baselayer only, without JNI) Change-Id: I8406e959fdf1c8d9efebbbe53f1a391fa25f336a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* | | Add support for Apple Unified LoggingTor Arne Vestbø2018-02-121-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the OS supports it, we will now log to the Apple unified logging system in addition to the normal stderr output. These logs can be inspected via the Console application, or the 'log' command line tool. See https://developer.apple.com/documentation/os/logging [ChangeLog][QtCore] Apple Unified Logging is now supported on Apple platforms. Task-number: QTBUG-38156 Done-with: Jake Petroules <jake.petroules@qt.io> Change-Id: I2ab92bd192d5b98aaf77e41501ea7b1ca6ef2425 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | logging: Break out stderr logging sink into separate functionTor Arne Vestbø2018-02-111-13/+16
| | | | | | | | | | | | | | | Change-Id: I4bc476376d2b84297c1798b016017db496532d27 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | logging: Don't build alternate logging sinks for QT_BOOTSTRAPPEDTor Arne Vestbø2018-02-111-7/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | This means willLogToConsole does not need to consider the boostrapped case anymore. Change-Id: I088245362cd46c582a2a08225d22e4d2e4645c06 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | logging: Break out QMessagePattern error reporting into standalone functionTor Arne Vestbø2018-02-111-14/+20
| | | | | | | | | | | | | | | | | | | | | | | | Makes for a less awkward logic without any if (0) etc. Change-Id: I3db0984c5a0bbf1615c2feb2ebef59b4ec16e9ae Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | 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>