summaryrefslogtreecommitdiffstats
path: root/src/corelib/global/qglobal.h
Commit message (Collapse)AuthorAgeFilesLines
...
| * make qreal double by default on all platformsLars Knoll2013-10-311-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | On modern ARM CPUs there is no speed difference between float and double anymore, so let's rather use double for qreal to avoid rounding and precision issues. Like this we also get much better compatibility with our desktop OSes. This is not binary compatible on ARM, but the old behavior can be restored by passing -qreal float to configure. Change-Id: I2a4b61e19a3dfa6b0bd76734cecf2634c97207fc Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * generate qfeatures.h at build timeOswald Buddenhagen2013-10-291-2/+1
| | | | | | | | | | | | | | | | | | much more elegant than the checked in file. and less chance to get it wrong, as people often enough do. Change-Id: I975a62dfd83ce4f15947ce54f3c40931b1badae0 Reviewed-by: Tasuku Suzuki <stasuku@gmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * Fail when QT_POINTER_SIZE is not setAndreas Holzammer2013-10-291-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Some cross compile setups don't have special treatment and don't have a configure check. To notice this early in the build fail at this state. One example is to cross compile from Windows for eg QNX or even linux embedded. If QT_POINTER_SIZE is not set, later v4 build in qtdeclarative is failing with a unmeaningful compile error. Change-Id: Iff9498d916371241b0b044b9543f9cd2946ecf42 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
| * don't explicitly exclude qconfig.h when building mocOswald Buddenhagen2013-10-241-1/+1
| | | | | | | | | | | | | | it excludes itself for bootstrapped builds. Change-Id: I22fa969c47ff69eab8c96bf0917b0859c65b2fd9 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-10-241-6/+12
|\| | | | | | | Change-Id: Ie56539b2e0be611a363b5f15ae5412a78d6945a2
| * Allow custom definition of Q_FORWARD_DECLARE_OBJC_CLASS and friendsTor Arne Vestbø2013-10-111-6/+12
| | | | | | | | | | Change-Id: I761ef508672d5d4e8b9067a1b5f91debe09607d4 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | Added QT_DEPRECATED_X(text)Keith Gardner2013-10-211-0/+5
| | | | | | | | | | | | | | Defined the Q_DEPRECATED_X to use the Q_DECL_DEPRECATED_X macro. Change-Id: I334328059c6a1e046f57470027b0d1086a35042c Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | Fix QT_POINTER_SIZE on WinRT x64Andrew Knight2013-10-021-1/+1
| | | | | | | | | | | | | | | | Q_OS_WIN64 is not defined for WinRT, so make sure the pointer size is correct. Change-Id: I5a55bfd7edbfd23e0eab50fa31a76faa9e383a8d Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* | WinRT: Disable QFileSystemWatcherOliver Wolff2013-09-261-0/+1
| | | | | | | | | | | | | | | | | | It might be possible to implement some kind of file system watcher using http://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.search.aspx Change-Id: I375f299e2420f266c8e19d77360bdecf6ff88a56 Reviewed-by: Andrew Knight <andrew.knight@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Bump Qt version to 5.3.0Thiago Macieira2013-09-241-2/+2
|/ | | | | Change-Id: Id15c3bcc4bced847a11eec08fcffda5100d778ec Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Q_STATIC_ASSERT: use __COUNTER__ instead of __LINE__ if the compiler supports itMarc Mutz2013-09-221-0/+5
| | | | | | | | | | | When using __LINE__ to construct unique names, use of Q_STATIC_ASSERT is limited to one instance per line of code. On compilers that support __COUNTER__ (GCC and MSVC, probably others), we can get around that limitation by using that one to always get a new unique number, so use it. Change-Id: I89bcfaa32376b7a665f03e4275e89b13fa3e650d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add Mac type conversion functions to QtCoreMorten Johan Sørvig2013-09-211-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New API: static QString QString::fromCFString(CFStringRef string); CFStringRef QString::toCFString() const; static QString QString::fromNSString(const NSString *string); NSString *QString::toNSString() const; static QUrl QUrl::fromCFURL(CFURLRef url); CFURLRef QUrl::toCFURL() const; static QUrl QUrl::fromNSURL(const NSURL *url); NSURL * QUrl::toNSURL() const; Add Q_OS_MAC-protected function declarations to header files, add implementation to _mm files. CF and NS types are forward-declared in the header files to avoid including the CoreFoundation and Foundation headers. This prevents accidental use of native types in application code. Add helper macros for forward- declaration to qglobal.h Add cf_returns_retained/ns_returns_autoreleased attributes to toCFString() and toNSURL(). These attributes assists the clang static analyzer. Add Q_DECL_ helper macros to qcompilerdetection.h. Add test functions (in _mac.mm files) to the QString and QUrl tests. Split out the test class declarations into a separate headers files. Change-Id: I60fd5e93f042316196284c3db0595835fe8c4ad4 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* QT_NO_PROCESS for WinRTOliver Wolff2013-09-201-0/+4
| | | | | | | | | | | As Windows Runtime does not really support the use of spawning processes QT_NO_PROCESS is defined for winrt builds and the corresponding sources are excluded from build. Change-Id: I79263417c985b23678c55ac44a5591a9a69d3c13 Reviewed-by: Andrew Knight <andrew.knight@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* WinRT: Basic global supportAndrew Knight2013-09-201-1/+1
| | | | | | | | Various global changes, primarily preprocessor flow, to support the WinRT platform. Change-Id: I3fa9cf91d5fb24019362e88fcf205e31b4f810b5 Reviewed-by: Andrew Knight <andrew.knight@digia.com>
* Fix cross-compiling V4 for Android on WindowsEskil Abrahamsen Blomfeldt2013-09-091-0/+2
| | | | | | | | | | The QT_POINTER_SIZE is not detected on Windows. We can safely set this to 32 bit for Android since we only support 32 bit builds on Windows. Task-number: QTBUG-33397 Change-Id: I891cf01444d1ba9216ed2c3ba33ef40c61d50dd9 Reviewed-by: BogDan Vatra <bogdan@kde.org>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-08-271-4/+0
|\ | | | | | | | | | | | | Conflicts: examples/widgets/doc/src/addressbook-fr.qdoc Change-Id: Id1196e8e0c6445f1616c3f29234c974d809f8e48
| * Revert "Fix compilation for Android ARMv5"Eskil Abrahamsen Blomfeldt2013-08-271-4/+0
| | | | | | | | | | | | | | | | | | | | This reverts commit 9fa1bdeeb2bca6f9ba370fce594a47a066a7e81a which is no longer needed because the Android NDK now contains a toolchain without the bug for which it was a work-around. Task-number: QTBUG-31051 Change-Id: I601ba2fccb927ee7e818644de4474700e2eec8f1 Reviewed-by: BogDan Vatra <bogdan@kde.org>
| * Bump Qt version to 5.1.2Sergio Ahumada2013-07-231-2/+2
| | | | | | | | | | Change-Id: Ibe3e6a37a874b75ea9a20e0a9ed8aa5f21bf6be2 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| * Bump Qt version to 5.1.1Sergio Ahumada2013-05-291-2/+2
| | | | | | | | | | Change-Id: Id5e2e1c69f09e43460e45d8ccf7a430f3052149b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Mark qFuzzy* and qIsNull as Q_REQUIRED_RESULTGiuseppe D'Angelo2013-08-211-0/+6
| | | | | | | | | | | | | | | | | | | | Calling them and not using the return value makes no sense. And it's even worse -- in autotests people might call those functions without wrapping them in QVERIFY(), effectively not testing anything. Change-Id: I2c90d1c85963ff1f35f00653d536a9252c2fcc48 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | Add a Mach-O decoder to the QPluginLoaderThiago Macieira2013-07-201-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We already had an ELF decoder, which helped us greatly to find the metadata and that catches most Unix systems (Solaris, QNX, HP-UXi, and all of the free Unixes). On other Unix systems, aside from Mac OS X, we simply scanned the entire file for the signature. On Windows, even without a COFF-PE decoder, we use a LoadLibrary trick to load the plugin without loading the dependent libraries. In most cases, that works. Unfortunately, on Mac OS X we didn't have a decoder and nor could we do the file scan: because Mac OS X binaries could be fat binaries, we wouldn't know which architecture's signature we had found. No more. This adds a full Mach-O decoder to QtCore. It is also capable of finding the boundaries of the architecture's binary, but that functionality is disabled since all Qt 5 plugins have plugin metadata sections. Change-Id: I2d5c04c5ecf024864b8a43f31ab6b7e6c5eae9ce Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-05-231-0/+4
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qdatastream.cpp src/corelib/io/qdatastream.h src/corelib/json/qjsonwriter.cpp src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/xcb/qxcbkeyboard.cpp Change-Id: I46fef1455f5a9f2ce1ec394a3c65881093c51b62
| * Fix compilation for Android ARMv5Eskil Abrahamsen Blomfeldt2013-05-071-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have to use the 4.4.3 compiler toolchain for producing binaries for ARMv5 on Android, since the 4.7 toolchain has a regression for this architecture. The regression has been fixed, but the fix has not been released yet, so until it has, we need to use the 4.4.3. However, the 4.4.3 toolchain has a different bug, which breaks compilation in qtimageformats with a message about redefinition of uint. This works around that bug for Android builds. When the patched compiler has been released, we can revert this. Task-number: QTBUG-30921 Change-Id: I620c186c6e932413a4de1dd331fbf4b9401f2e72 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | Sanitize QT_COMPILER_SUPPORTS_xxx in qcompilerdetection.hTor Arne Vestbø2013-05-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... instead of scoping the defines in qconfig.h, which relied on the Q_PROCESSOR_xxx defines and meant that we had to include qconfig.h after qprocessordetection.h, which added a whole bunch of other dependency issues. We now let configure write QT_COMPILER_SUPPORTS_xxx to qconfig.h as before, without any scoping, and then undefine the ones that don't apply for the given processor. This means we need to include qprocessordetection.h before qcompilerdetection.h in qglobal.h, but the former does not depend on the latter, so this should be fine. Change-Id: If00c00d405463e9626fa0f7f5e6b17f68778904f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-04-031-2/+2
|\| | | | | | | Change-Id: Id96d4076610366a7cc66c8d8382ca25c33eaa71d
| * Reduce the likelihood of underflows in qFuzzyComparehjk2013-04-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | As indicated in the discussion of the bug report, this does not address the real problem but only reduces the frequency it occurs. Task-number: QTBUG-26453 Change-Id: I20ac3f41f52effb674bee6924ccdfd2f641576ef Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Bump Qt version to 5.2.0Sergio Ahumada2013-03-291-2/+2
|/ | | | | Change-Id: Id2a4b8fb00837154a7fc1bf96060c0cdc808f13d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Whitespace cleanup: remove trailing whitespaceAxel Waggershauser2013-03-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Remove all trailing whitespace from the following list of files: *.cpp *.h *.conf *.qdoc *.pro *.pri *.mm *.rc *.pl *.qps *.xpm *.txt *README excluding 3rdparty, test-data and auto generated code. Note A): the only non 3rdparty c++-files that still have trailing whitespace after this change are: * src/corelib/codecs/cp949codetbl_p.h * src/corelib/codecs/qjpunicode.cpp * src/corelib/codecs/qbig5codec.cpp * src/corelib/xml/qxmlstream_p.h * src/tools/qdoc/qmlparser/qqmljsgrammar.cpp * src/tools/uic/ui4.cpp * tests/auto/other/qtokenautomaton/tokenizers/* * tests/benchmarks/corelib/tools/qstring/data.cpp * util/lexgen/tokenizer.cpp Note B): in about 30 files some overlapping 'leading tab' and 'TAB character in non-leading whitespace' issues have been fixed to make the sanity bot happy. Plus some general ws-fixes here and there as asked for during review. Change-Id: Ia713113c34d82442d6ce4d93d8b1cf545075d11d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Introduce macros for simplifying platform checks on Mac OS and iOSTor Arne Vestbø2013-02-181-0/+10
| | | | | Change-Id: Ibab8486e1e6d7e4d8922fce96add055e60c6095c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add qunsetenv(), next to qputenv() and friends.David Faure2013-02-071-0/+1
| | | | | | | | | | | | | | | | | The existing tst_qgetputenv shows that qputenv with an empty value doesn't lead to the same result on Windows and on Unix, and there was no way to fully delete an env var on Unix (which is needed for some env vars where not-set and empty are different, such as TZ, see `man tzset`). This is also why qglobal has qEnvironmentVariableIsSet() vs qEnvironmentVariableIsEmpty(), on the getter side. Qt4's ifdefs around unsetenv in qapplication_x11.cpp show that this is needed within Qt too (although this particular startup notification code has to be re-imported into Qt5 still). Change-Id: I631c8cddbcf933d4b9008f11aefc59f5a3c7c866 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add note about QT_{BEGIN,END}_HEADER removal for Qt 6Sergio Ahumada2013-02-061-0/+1
| | | | | | | | This macro usage has been removed from most of the Qt 5 code, so adding a note to be completely removed in Qt 6. Change-Id: I19a90db78745f3cacbcbf206e8642c7d7c36e04a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add QT_{BEGIN,END}_HEADER definition backSergio Ahumada2013-02-051-0/+3
| | | | | | | | This commit partially reverts 07e3bcdc106ac42703ae0fb88b6cac2d2bfdd072 The empty macro defition was not supposed to be removed yet. Change-Id: Ie83b2adbe2328b83c70a70274a401e1e6c74498f Reviewed-by: David Faure (KDE) <faure@kde.org>
* Remove QT_{BEGIN,END}_HEADER macro usageSergio Ahumada2013-01-291-6/+0
| | | | | | | | | | | The macro was made empty in ba3dc5f3b56d1fab6fe37fe7ae08096d7dc68bcb and is no longer necessary or used. Discussed-on: http://lists.qt-project.org/pipermail/development/2013-January/009284.html Change-Id: Id2bb2e2cabde059305d4af5f12593344ba30f001 Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: hjk <hjk121@nokiamail.com>
* Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Frederik Gladhorn2013-01-231-1/+1
|\ | | | | | | refs/staging/dev
| * Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-01-221-1/+1
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qsavefile_p.h src/corelib/tools/qregularexpression.cpp src/gui/util/qvalidator.cpp src/gui/util/qvalidator.h Change-Id: I58fdf0358bd86e2fad5d9ad0556f3d3f1f535825
| | * Update copyright year in Digia's license headersSergio Ahumada2013-01-181-1/+1
| | | | | | | | | | | | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | Add a new Q_GLOBAL_STATIC implementationThiago Macieira2013-01-221-119/+3
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unlike the previous implementation, this implementation is locked: only one initialisation is ever run at the same time. It is exception-safe, meaning that a throwing constructor will restart the process. Also, start using the thread-safe behaviour that GCC has offered for a long time and C++11 requires. Change-Id: I20db44f57d258923df64c0051358fd0d9a5ccd51 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: David Faure (KDE) <faure@kde.org> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* / Bump Qt version to 5.1.0Frederik Gladhorn2013-01-151-2/+2
|/ | | | | | Change-Id: I6d372c933e48eeda921fe781b073bf4e05b31585 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: David Faure (KDE) <faure@kde.org>
* Bump Qt version to 5.0.1Sergio Ahumada2012-12-211-2/+2
| | | | | Change-Id: Ie8f437b8dfe8a67c7b34321439dd988a02612437 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove the TRUE and FALSE macrosDavid Faure2012-12-061-11/+0
| | | | | | | | | | They are completely unused in Qt, and are a potential source of compilation errors in application code. Change-Id: I6dfe2891f3b2365a30048f99c31e8e3a2425e62b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Ignore the QT_NAMESPACE for moc runsLars Knoll2012-09-251-1/+1
| | | | | | | | | | Moc should not see a defined QT_NAMESPACE, to keep the names of all symbols consistent with an un-namespaced Qt. Change-Id: Ia72afabaa0820b02a0863148510122ce942a5082 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-221-24/+24
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* don't require a fake qconfig.h for the configure bootstrapOswald Buddenhagen2012-09-191-1/+1
| | | | | Change-Id: I3d1224ad19b9e5278e35cf7c5142a29ccb589140 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Let qVersion() be extern "C" if this is not a namespace buildThiago Macieira2012-09-181-1/+13
| | | | | | | | | | | This allows one to even dlopen() QtCore and call qVersion, to figure out which version it is. A bit crazy, but someone might want to do it. Change-Id: I932460515d07bed3f0e41c8ab2b46fc268ca73ff Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* don't require (dummy) qconfig.h for qmake buildOswald Buddenhagen2012-09-111-1/+1
| | | | | | Change-Id: I22a2c9aa1366ff858b3bb646617543968c810136 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Move the non-C++ parts of qglobal.h outside of __cplusplusThiago Macieira2012-09-101-135/+134
| | | | | | | | This allows some more goodies to be available in C mode. Change-Id: I5c8a19b6150081a20aae8d3d9d8d7cb30d750536 Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Move the constructor and destruction function macros to the C++ partThiago Macieira2012-09-101-22/+22
| | | | | | | | | These macros expand to C++ code, so there's no point in having them defined in the non-C++ part of qglobal.h. Change-Id: Ic5763196391798e362d33466114969818e7e6793 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Make the default Qt API be Qt 5.0'sThiago Macieira2012-09-081-2/+1
| | | | | | | | | | | | This means user applications will default to Qt 5.0's API. Higher versions or Qt 4 compatibility are opt-in. Also set the default for Qt's own build to be 5.0 on all platforms except Windows. On Windows, we need to set it to 4.9. Task-number: QTBUG-25053 Change-Id: I603e0fda4785e64e1413cd82153a89e48005aa40 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QtGlobal: mark qVersion() and qSharedBuild() as nothrowMarc Mutz2012-09-071-2/+2
| | | | | Change-Id: Id9dcf71363754cf6aae94012b22d144455e213eb Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove the package macros from qglobal.hThiago Macieira2012-09-031-4/+0
| | | | | | | It's the wrong place to have these. Change-Id: I3b716317ba02ea2baf0f7053c8b16128e4c88e17 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>