Commit c5db8fc74 changed all instances of Q_WS_FOO to have the prefix
Q_DEAD_CODE_FROM_QT4 instead, to make it clearer when reading the code
that the code in question was a left-over from Qt4, when we used
Q_WS_ defines instead of Q_OS_ defines.
This worked well for cases of #ifdef Q_DEAD_CODE_FROM_QT4, but less so
for cases of #ifndef Q_DEAD_CODE_FROM_QT4, where the code was actually
unconditionally included.
To make this even clearer, the defines have been replaced by checks for
1 or 0, with a comment describing how the code used to look in Qt4. The
use of constants in the check also makes it easier for editors to parse
the condition and show visually that the code is defined out.
Change-Id: I152070d87334df7259b417cd5e17d7b7950379b7
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Q_NAMESPACE is useful to add Q_ENUM_NS/Q_ENUMS, Q_FLAG_NS/Q_FLAGS and
Q_CLASSINFO to a namespace.
[ChangeLog] Added Q_NAMESPACE which can be used to add Q_ENUM_NS/
Q_ENUMS, Q_FLAG_NS/Q_FLAGS and Q_CLASSINFO to a namespace
Task-number: QTBUG-54981
Change-Id: Ic61b972794063e77134681fb347d6c4acddcdb44
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
This check is used in many places in the public header files,
and correctly documenting the affected declarations depend on
QDoc evaluating it correctly.
As QDoc currently cannot evaluate complex preprocessor
directives, work around this by explicitly evaluating
the version check to false.
Change-Id: If22eff76f6831c92375d9a0b25d04aa46422da13
Task-number: QTBUG-51262
Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
QDoc needs to ignore Q_DECLARE_SHARED_NOT_MOVABLE_UNTIL_QT6,
introduced in commit 075769ca, to avoid failures when parsing
the header files.
Change-Id: I07510248590e290e7a2460d51c8333c135647bcb
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Enumeration QSysInfo::MacVersion uses a macro to define
enumeration values. QDoc gets confused about it and
prints a lot of warnings.
Adding the macro to ignored directives does not resolve
the documentation issue completely (enum values still
show up as '?'), but it gets rid of the warnings.
Task-number: QTBUG-43810
Change-Id: Ie4009646a78c62b5f1860d29855d3941e79d9388
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Q_DECL_CF_RETURNS_RETAINED and Q_DECL_NS_RETURNS_AUTORELEASED are
added to qdoc's list of ignored tokens. Without them, qdoc fails
to parse a few function declarations.
Change-Id: If59066a765882d88881eed7db31b4b52a6e570ea
Task-number: QTBUG-46920
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Q_ATTRIBUTE_FORMAT_PRINTF is added to qdoc's list of ignored
directives. Without it, qdoc fails to parse a few function
declarations.
Change-Id: Ie24a58d9a5dcdffb8c103b2f5e34dd09b9471f06
Task-number: QTBUG-46920
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Q_ENUM and Q_FLAG were not listed in the Cpp.ignoredirectives variable
in qt-cpp-defines.qdocconf. This never used to cause parsing errors in
qdoc, but now it does. The cause for this change was not determined at
the time of this fix, which is to add Q_ENUM and Q_FLAG to the ignore
directives list.
Change-Id: I717c9101f7706097869f23b53eeca8cb1a0fee0a
Task-number: QTBUG-44510
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
We still have a bunch of Q_WS_ ifdefs in our code, which are easy to
mistake for Q_OS_ ifdefs when quickly scanning the code. By renaming
the ifdefs we make it clear that the code in question is dead.
In incremental follow-ups, we can then selectively either remove, or
port, the pieces that are dead code.
Change-Id: Ib5ef3e9e0662d321f179f3e25122cacafff0f41f
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Change-Id: I91ff06644e8047c2ca483f9768b46c1372eb6171
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
Change-Id: Idf07753b6811c1ec8dba1ddd0fbb8036ce6723f2
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Expands to constexpr if C++14 relaxed constepxr are supported by the compiler
[ChangeLog][QtCore] Added Q_DECL_RELAXED_CONSTEXPR for the corresponding C++14 feature
Change-Id: Id6b56b3a17da2ff838c80795e528e1247dc13f63
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
-helps the QDoc parser read C++ API when the macro is excluded.
Task-number: QTBUG-33360
Change-Id: Ic7e86c0d1cec4a1960d20b1c92c4b60396eb3ea6
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
This update fixes part of QTBUG-37719. Q_DECL_FINAL is a
macro that is documented, but links to the documentation
for it were not created. The problem was that Q_DECL_FINAL
is actually used in the Qt sources, but it was not listed
in the Cpp.ignoretokens clause in the qdocconf file. This
update just adds it to Cpp.ignoretokens.
Task-number: QTBUG-37719
Change-Id: I62945df4976b21b67084e6de25e25bbc4c92f89f
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
This fixes most of the \fn-not-found errors in QtCore.
Change-Id: I61a48646c6341cb3310bbb83f190a15e9225fd14
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
That expand to __attribute__((const)) and ((pure)). A "const" function
is a function allowed to examine only its arguments, without modifying
them. A "pure" function is also allowed to read memory.
Currently working only on GCC/ICC/Clang, MSVC lacks these.
Change-Id: Ie60a0847b193fb88e116f61611dc571296a3df1c
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
-Qt NFC and Qt Bluetooth no longer need them
Change-Id: Ie198cfc3d5171c04cdd2c36b83ec5f1718e16972
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
We have it on function declarations and it gets a bit lost...
Change-Id: I19ba2e760f3714c26e78c3d8fd2570af3dcd136e
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Up to now, the feature classe Uniform Initialization was subsumed by the
Q_COMPILER_INITIALIZER_LISTS flag together with support for
std::initializer_list.
This caused at least two problems:
1. On QNX, the standard libray does not ship <initializer_list>, even
though the compiler (a GCC 4.6, IIRC) supports it. But since there
was only one Q_COMPILER flag for both, support for the compiler-only
part of the feature had to be disabled, too.
2. MSVC 2013 supports initializer lists, but has a bug that renders full
uniform initialization support, as required for QUuid, useless.
By splitting the feature into two, we can separate them better, and do
so in QUuid, which is the only class that currently takes advantage of
uniform initialization (to provide constexpr constructors).
Since Q_COMPILER_INITIALIZER_LISTS worked as a flag for uniform
initialization so far, with the two known exceptions above,
UNIFORM_INIT is defined whenever INITIALIZER_LIST is, except that
I don't revert UNIFORM_INIT on QNX as I do for INITIALIZER_LISTS
and that I expect the MSVC 2013 features to set INITIALIZER_LIST,
but not UNIFORM_INIT.
Task-number: QTBUG-34705
Change-Id: I81916e950a0f3aab3de7977e0326d2de3d31b14c
Reviewed-by: Yuchen Deng <loaden@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This is required for functions in the QtWin namespace.
Change-Id: I6c38c8ef262377050a75861435da381863340f33
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
QT_MUTEX_LOCK_NOEXCEPT is defined as Q_DECL_NOTHROW
on Linux, the latter being already ignored by qdoc.
This change ignores also the former, clearing
related documentation warnings.
Change-Id: Iaeee7a851b4b6d3c2e3308c1b376406c11271807
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Change-Id: If725ac4e523d56a8dc274f8d6b53c0c34064ca06
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
qdoc interprets the double-ampersand in function parameters
using rvalue references (e.g. 'Type &&other') incorrectly
as a logical AND operator, resulting in a syntax error.
This change works around the issue by treating '&' the same
as '*', and defining Q_COMPILER_RVALUE_REFS for qdoc.
Task-number: QTBUG-32675
Change-Id: I499611f16f22c33ff5b878da0cd59d67ddf53d72
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
Needed by the upcoming function
Q_NORETURN void QCommandLineParser::showHelp(int exitCode)
Change-Id: Ie8550d2d0eff9eb20e629eef4952fa2b0b10f873
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
This macro is apparently knew. It was unknown to qdoc.
Now qdoc knows to ignore it.
Task-number: QTBUG-32344
Change-Id: Id4455ad2329aeb2d2f8cacef99cdd1ff2a72321c
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
The HTML pages need to display minimal navigation such
as a link to the module landing page or Qt 5's index.html.
-new variables available in qdocconf files:
navigation.landingpage
navigation.homepage
navigation.cppclassespage
navigation.qmltypespage
buildversion
The navigation variables are for the new navigation bar.
The buildversion variable is to insert documentation build
information into the pages.
Note about compatibility with Qt Creator docs:
The HTML template files for Qt Creator is retained to keep
Qt Creator compatible with 5.0.x and 5.1.x.
Change-Id: Ibb4d7cada19644204457d822b6b77b2aa7b70f8d
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>