Only define QT_FASTCALL on x86_32

The __fastcall calling convention is silently ignored on other
architectures. The GNU attribute regparm is allowed but doesn't
make sense on x86_64. On other architectures, the attribute isn't
supported at all.

This fixes building with clang for MinGW/ARM and ARM64.

Change-Id: Ice1c6eadd0e90b2e5e34736542ee49a25dc67fe6
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
Martin Storsjö 2017-11-11 16:59:31 +02:00
parent 0ed471419a
commit bfc96c9c0e

View File

@ -472,7 +472,7 @@ using qsizetype = QIntegerForSizeof<std::size_t>::Signed;
# define QT_ASCII_CAST_WARN
#endif
#if defined(__i386__) || defined(_WIN32)
#ifdef Q_PROCESSOR_X86_32
# if defined(Q_CC_GNU)
# define QT_FASTCALL __attribute__((regparm(3)))
# elif defined(Q_CC_MSVC)