Go to file
Edward Welbourne 2ab139596d Fix alignment-warnings about Q_DECLARE_PRIVATE's casts
Q_DECLARE_PRIVATE gets used in the declaration of the public class,
where the private class is typically visible only as a forward-decl,
with no knowledge of what it's based on; consequently, the macro is
obliged to use reinterpret_cast<>, which is subject to warnings when
the compiler *can* see both types and their alignments differ.  The
same applies to Q_DECLARE_PRIVATE_D.

So suppress gcc's -Wcast-align around the d_func() return statements.
(If we get similar problems with other compilers we can add their
suppressions likewise; but, for now, we've only seen this on MIPS64,
where we use gcc.)  This tripped over one use of Q_DECLARE_PRIVATE in
a private Q_SLOTS: section; for some reason, gcc didn't like the
semicolon on the friend declaration.  Changing the context to plain
private fixed that.

Fixes: QTBUG-72885
Change-Id: I5edc11d46bd4eb820713adede79d53191a7e2736
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
Reviewed-by: Boxiang Sun <daetalusun@gmail.com>
2019-01-15 08:31:51 +00:00
bin syncqt: Do not clean header directory before "-minimal" run 2018-11-22 14:16:53 +00:00
config.tests configure: modernize iconv use 2018-12-19 19:22:16 +00:00
dist Include CLDR 34 update in change log 2018-12-11 18:57:27 +00:00
doc Documentation: Add \nullptr macro and use where applicable 2019-01-10 22:16:07 +00:00
examples Doc: cleanup semaphore example 2019-01-03 11:37:22 +00:00
lib Purge all fonts 2015-08-18 19:59:14 +00:00
mkspecs macOS: Use tool environment to ensure tests load matching Qt libraries 2019-01-12 12:18:36 +00:00
qmake qmake: rewrite msvc/nmake cross-build environment setup 2019-01-05 20:33:24 +00:00
src Fix alignment-warnings about Q_DECLARE_PRIVATE's casts 2019-01-15 08:31:51 +00:00
tests fix out-of-bounds access on trailing percent sign in tr() argument 2019-01-14 08:52:15 +00:00
util Clean up and update Unicode character data 3rd-party infrastructure 2018-11-11 22:09:27 +00:00
.gitattributes Update the git-archive export options 2012-09-07 15:39:31 +02:00
.gitignore Remove support for qml1 plugins and modules 2018-11-15 19:52:13 +00:00
.qmake.conf Bump version 2019-01-14 09:12:55 +02:00
.tag Update the git-archive export options 2012-09-07 15:39:31 +02:00
config_help.txt configure: improve warning when all qpa plugins disabled with features.gui 2019-01-07 07:27:35 +00:00
configure configure: Treat win32-clang-g++ the same as win32-g++ 2018-10-10 04:10:40 +00:00
configure.bat configure: Prefer cl.exe over clang-cl.exe 2018-01-04 21:22:42 +00:00
configure.json configure: enable inline tests to contain auxiliary files 2018-12-19 19:22:06 +00:00
configure.pri Make Android arch x86_64 to use platform-21 2019-01-08 11:47:02 +00:00
header.BSD Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.COMM Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.FDL Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.GPL Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.GPL-EXCEPT Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL3 Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL3-COMM Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL-NOGPL2 Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL-ONLY Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.MIT qsimd: add support for new x86 CPU features 2018-05-05 06:20:07 +00:00
INSTALL Doc: Update links in INSTALL file 2015-02-16 09:06:41 +00:00
LICENSE.FDL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.GPL2 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPL3 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPL3-EXCEPT Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.LGPL3 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.LGPLv3 Remove LICENSE.GPLv3, LICENSE.LGPLv21, LGPL_EXCEPTION.txt 2018-04-16 11:02:14 +00:00
LICENSE.QT-LICENSE-AGREEMENT-4.0 Replace commercial preview license with Qt License Agreement 4.0 2018-06-21 11:39:15 +00:00
qtbase.pro nuke configure -host-option 2016-12-13 18:55:59 +00:00
sync.profile Fix build failed with ANGLE 2018-10-16 05:19:43 +00:00