Use C++11 alignof as reference for Q_ALIGNOF, and fix test on Android
Not removing QT_EMULATED_ALIGNOF logic from qglobal.h at this point, as it might be used elsewhere. Change-Id: Ie78922bb604a54aed03ab5b88e31a7f29a3a4de0 Fixes: QTBUG-73561 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
parent
eed85dc3e7
commit
e6f7cc96fa
@ -468,7 +468,7 @@ typedef int (Empty::*memFun) ();
|
|||||||
QCOMPARE(Q_ALIGNOF(type), size_t(alignment)); \
|
QCOMPARE(Q_ALIGNOF(type), size_t(alignment)); \
|
||||||
/* Compare to native operator for compilers that support it,
|
/* Compare to native operator for compilers that support it,
|
||||||
otherwise... erm... check consistency! :-) */ \
|
otherwise... erm... check consistency! :-) */ \
|
||||||
QCOMPARE(QT_EMULATED_ALIGNOF(type), Q_ALIGNOF(type)); \
|
QCOMPARE(alignof(type), Q_ALIGNOF(type)); \
|
||||||
} while (false)
|
} while (false)
|
||||||
/**/
|
/**/
|
||||||
|
|
||||||
@ -521,7 +521,7 @@ void tst_QGlobal::qAlignOf()
|
|||||||
TEST_AlignOf_impl(AlignmentInStruct<double>, Q_ALIGNOF(AlignmentInStruct<qint64>));
|
TEST_AlignOf_impl(AlignmentInStruct<double>, Q_ALIGNOF(AlignmentInStruct<qint64>));
|
||||||
|
|
||||||
// 32-bit x86 ABI, Clang disagrees with gcc
|
// 32-bit x86 ABI, Clang disagrees with gcc
|
||||||
#if !defined(Q_PROCESSOR_X86_32) || !defined(Q_CC_CLANG)
|
#if !defined(Q_PROCESSOR_X86_32) || !defined(Q_CC_CLANG) || defined(Q_OS_ANDROID)
|
||||||
TEST_AlignOf_impl(qint64 [5], Q_ALIGNOF(qint64));
|
TEST_AlignOf_impl(qint64 [5], Q_ALIGNOF(qint64));
|
||||||
#else
|
#else
|
||||||
TEST_AlignOf_impl(qint64 [5], Q_ALIGNOF(AlignmentInStruct<qint64>));
|
TEST_AlignOf_impl(qint64 [5], Q_ALIGNOF(AlignmentInStruct<qint64>));
|
||||||
|
Loading…
Reference in New Issue
Block a user