Commit Graph

33 Commits

Author SHA1 Message Date
Tor Arne Vestbø
6a35e77ef3 Change confusing Q_DEAD_CODE_FROM_QT4_FOO define
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>
2016-10-14 08:19:29 +00:00
BogDan Vatra
691dc71a01 Say hello to Q_NAMESPACE
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>
2016-08-19 15:41:27 +00:00
Topi Reinio
eec3aa499a Doc: Evaluate QT_VERSION >= QT_VERSION_CHECK(6,0,0) to false
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>
2016-02-22 08:33:57 +00:00
Alex Blasche
fbc18abf5a Ignore Q_SERIALBUS_EXPORT and Q_DECL_EQ_DEFAULT in qdoc
Change-Id: I3ec9170aba408e8c01c7940f2537a017dbeae065
Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
2015-11-30 08:46:08 +00:00
Frederik Gladhorn
77da617dc8 Merge remote-tracking branch 'origin/5.5' into dev
Conflicts:
	doc/global/qt-cpp-defines.qdocconf
	src/3rdparty/forkfd/forkfd.c
	src/corelib/codecs/qtextcodec.cpp
	src/corelib/kernel/qmetatype.cpp
	src/corelib/tools/qset.qdoc
	src/gui/accessible/qaccessible.cpp
	src/gui/image/qpixmapcache.cpp
	src/opengl/qgl.cpp
	src/tools/qdoc/generator.cpp
	src/widgets/kernel/qwidget.cpp
	tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp

Change-Id: I4fbe1fa756a54c6843aa75f4ef70a1069ba7b085
2015-08-06 10:54:01 +02:00
Topi Reinio
dce90451d8 Doc: Add Q_DECLARE_SHARED_NOT_MOVABLE_UNTIL_QT6 to ignored directives
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>
2015-07-29 07:43:52 +00:00
Nico Vertriest
f9eb2534de Doc: Add Q_MV_IOS to ignored C++ directives
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>
2015-07-22 13:47:35 +00:00
Martin Smith
b4babd6406 qdoc: Missing names from ignored tokens list
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>
2015-06-30 19:10:47 +00:00
Martin Smith
ce4cfd0028 qdoc: Missing name from ignored directives
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>
2015-06-30 19:10:37 +00:00
Martin Smith
275a970c30 doc: Added Q_NEVER_INLINE to ignored tokens
This helps qdoc's parser.

Change-Id: I4c7f2dff348b87659c93ddb14d012d5bf2e626f2
Task-number: QTBUG-46498
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2015-06-05 19:44:35 +00:00
Martin Smith
b1ccf65102 qdoc: Let qdoc ignore Q_ENUM and Q_FLAG
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>
2015-02-20 09:31:33 +00:00
Tor Arne Vestbø
c5db8fc74a Make it more obvious that Q_WS_ is dead code, and should perhaps be ported
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>
2015-02-03 11:49:14 +00:00
Thiago Macieira
1eb7005850 Use the new warning enabling/disabling macros in qtbase
Change-Id: I91ff06644e8047c2ca483f9768b46c1372eb6171
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
2014-12-03 18:09:17 +01:00
Olivier Goffart
c294067e4b qdoc: ignore Q_DECL_OVERRIDE
Change-Id: Idf07753b6811c1ec8dba1ddd0fbb8036ce6723f2
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-11-27 09:06:56 +01:00
Olivier Goffart
eaa4496efa Add Q_DECL_RELAXED_CONSTEXPR macro
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>
2014-10-24 22:22:09 +02:00
Frederik Gladhorn
1326cd15f7 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	mkspecs/qnx-x86-qcc/qplatformdefs.h
	src/corelib/global/qglobal.h
	src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
	src/opengl/qgl.cpp
	src/opengl/qglpixelbuffer.cpp
	src/opengl/qglshaderprogram.cpp
	tests/auto/opengl/qglthreads/tst_qglthreads.cpp

Change-Id: Iaba137884d3526a139000ca26fee02bb27b5cdb5
2014-05-06 16:50:03 +02:00
Jerome Pasion
a08b5201c1 Doc: Adding Enginio's export macro to the list of excluded QDoc tokens.
-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>
2014-04-16 07:28:39 +02:00
Martin Smith
e41c6e65b5 qdoc: Links to Q_DECL_FINAL not created
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>
2014-04-09 08:56:57 +02:00
Frederik Gladhorn
3b5c0bc078 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/gui/image/qjpeghandler.cpp

Change-Id: I9db3acea7d5c82f5da679c8eaeb29431136665f0
2014-03-24 16:10:15 +01:00
Marc Mutz
163a8d5a76 Doc: ignore Q_DECL_NOEXCEPT_EXPR and QT_DEPRECATED_X
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>
2014-03-17 20:52:49 +01:00
Giuseppe D'Angelo
d85983ece7 Introduce Q_DECL_CONST_FUNCTION and Q_DECL_PURE_FUNCTION
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>
2014-03-03 23:02:24 +01:00
Jerome Pasion
68fb37d762 Doc: Remove unused defines from global template.
-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>
2014-01-27 11:56:33 +01:00
Thiago Macieira
48caaee170 Ask qdoc not to parse Q_DECL_UNUSED
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>
2014-01-14 18:52:14 +01:00
Marc Mutz
38e90ad2b3 qcompilerdetection.h: add Q_COMPILER_UNIFORM_INIT
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>
2013-11-15 06:30:53 +01:00
J-P Nurmi
5f4c75a50e qdoc: ignore Q_WINEXTRAS_EXPORT
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>
2013-10-03 16:12:57 +02:00
Sergio Ahumada
a5d34b34fb Merge branch 'stable' into dev
Change-Id: I37d85631ab1165ab91457d8880c4da907a9df73b
2013-09-21 17:33:15 +02:00
Topi Reinio
656fb30720 qdoc: Ignore QT_MUTEX_LOCK_NOEXCEPT macros
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>
2013-09-09 10:40:37 +02:00
Alex Blasche
e040a27331 Add qdoc ignore tag for new QtPositioning API.
Change-Id: If725ac4e523d56a8dc274f8d6b53c0c34064ca06
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-09-02 16:26:21 +02:00
Topi Reinio
0023774411 qdoc: Enable support for rvalue references in function signatures
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>
2013-08-30 09:22:16 +02:00
David Faure
794330e40f Doc: ignore "Q_NORETURN" in function signatures.
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>
2013-08-13 01:38:54 +02:00
Martin Smith
93a3173444 doc: Added Q_REQUIRED_RESULT to ignored tokens
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>
2013-07-23 16:30:06 +02:00
Alex Blasche
0ae1148484 Properly parse the new namespace macros for Bluetooth and NFC libs
Task-number: QTBUG-31851

Change-Id: I4c0eb3cf69ae10246a22f93e76a09d3a72c2196c
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Alex <alexander.blasche@digia.com>
2013-06-26 12:50:37 +02:00
Jerome Pasion
b11cb96f28 Doc: Fixed QDoc's navigation mechanism.
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>
2013-06-25 14:03:24 +02:00