diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2017-09-28 14:19:59 -0700 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2017-09-29 20:11:06 +0000 |
commit | bd4506fe5be0616c1d1f4cac94bb7399dc2072c2 (patch) | |
tree | 7e9e5c61170604d5c9c98ce7dc654fa582fc341b | |
parent | 7d6c168a737f23003c85d917b972c3c8179bf349 (diff) |
Remove Q_ALWAYS_INLINE from frequently-used functions
MSVC is too stupid for them. Not only will it not inline those functions
if they are in a __declspec(dllimport) class, it will also print an
annoying Level 4 warning:
function 'function' marked as __forceinline not inlined
Task-number: QTBUG-57811
Task-number: QTBUG-55042
Change-Id: I0b48fc8e90304e0dacc3fffd14e8a346d18a9e0c
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
-rw-r--r-- | src/corelib/kernel/qtimer.h | 6 | ||||
-rw-r--r-- | src/corelib/tools/qbytearray.h | 16 | ||||
-rw-r--r-- | src/corelib/tools/qstring.h | 20 |
3 files changed, 18 insertions, 24 deletions
diff --git a/src/corelib/kernel/qtimer.h b/src/corelib/kernel/qtimer.h index 7db5fc759b..44ae04f38d 100644 --- a/src/corelib/kernel/qtimer.h +++ b/src/corelib/kernel/qtimer.h @@ -165,37 +165,31 @@ Q_SIGNALS: public: #if QT_HAS_INCLUDE(<chrono>) || defined(Q_QDOC) - Q_ALWAYS_INLINE void setInterval(std::chrono::milliseconds value) { setInterval(int(value.count())); } - Q_ALWAYS_INLINE std::chrono::milliseconds intervalAsDuration() const { return std::chrono::milliseconds(interval()); } - Q_ALWAYS_INLINE std::chrono::milliseconds remainingTimeAsDuration() const { return std::chrono::milliseconds(remainingTime()); } - Q_ALWAYS_INLINE static void singleShot(std::chrono::milliseconds value, const QObject *receiver, const char *member) { singleShot(int(value.count()), receiver, member); } - Q_ALWAYS_INLINE static void singleShot(std::chrono::milliseconds value, Qt::TimerType timerType, const QObject *receiver, const char *member) { singleShot(int(value.count()), timerType, receiver, member); } - Q_ALWAYS_INLINE void start(std::chrono::milliseconds value) { start(int(value.count())); diff --git a/src/corelib/tools/qbytearray.h b/src/corelib/tools/qbytearray.h index 9a600ca366..732d3afc17 100644 --- a/src/corelib/tools/qbytearray.h +++ b/src/corelib/tools/qbytearray.h @@ -256,21 +256,21 @@ public: # define Q_REQUIRED_RESULT # define Q_REQUIRED_RESULT_pushed # endif - Q_REQUIRED_RESULT Q_ALWAYS_INLINE QByteArray toLower() const & + Q_REQUIRED_RESULT QByteArray toLower() const & { return toLower_helper(*this); } - Q_REQUIRED_RESULT Q_ALWAYS_INLINE QByteArray toLower() && + Q_REQUIRED_RESULT QByteArray toLower() && { return toLower_helper(*this); } - Q_REQUIRED_RESULT Q_ALWAYS_INLINE QByteArray toUpper() const & + Q_REQUIRED_RESULT QByteArray toUpper() const & { return toUpper_helper(*this); } - Q_REQUIRED_RESULT Q_ALWAYS_INLINE QByteArray toUpper() && + Q_REQUIRED_RESULT QByteArray toUpper() && { return toUpper_helper(*this); } - Q_REQUIRED_RESULT Q_ALWAYS_INLINE QByteArray trimmed() const & + Q_REQUIRED_RESULT QByteArray trimmed() const & { return trimmed_helper(*this); } - Q_REQUIRED_RESULT Q_ALWAYS_INLINE QByteArray trimmed() && + Q_REQUIRED_RESULT QByteArray trimmed() && { return trimmed_helper(*this); } - Q_REQUIRED_RESULT Q_ALWAYS_INLINE QByteArray simplified() const & + Q_REQUIRED_RESULT QByteArray simplified() const & { return simplified_helper(*this); } - Q_REQUIRED_RESULT Q_ALWAYS_INLINE QByteArray simplified() && + Q_REQUIRED_RESULT QByteArray simplified() && { return simplified_helper(*this); } # ifdef Q_REQUIRED_RESULT_pushed # pragma pop_macro("Q_REQUIRED_RESULT") diff --git a/src/corelib/tools/qstring.h b/src/corelib/tools/qstring.h index 16472ff6b9..b38c7536b7 100644 --- a/src/corelib/tools/qstring.h +++ b/src/corelib/tools/qstring.h @@ -414,25 +414,25 @@ public: # define Q_REQUIRED_RESULT # define Q_REQUIRED_RESULT_pushed # endif - Q_REQUIRED_RESULT Q_ALWAYS_INLINE QString toLower() const & + Q_REQUIRED_RESULT QString toLower() const & { return toLower_helper(*this); } - Q_REQUIRED_RESULT Q_ALWAYS_INLINE QString toLower() && + Q_REQUIRED_RESULT QString toLower() && { return toLower_helper(*this); } - Q_REQUIRED_RESULT Q_ALWAYS_INLINE QString toUpper() const & + Q_REQUIRED_RESULT QString toUpper() const & { return toUpper_helper(*this); } - Q_REQUIRED_RESULT Q_ALWAYS_INLINE QString toUpper() && + Q_REQUIRED_RESULT QString toUpper() && { return toUpper_helper(*this); } - Q_REQUIRED_RESULT Q_ALWAYS_INLINE QString toCaseFolded() const & + Q_REQUIRED_RESULT QString toCaseFolded() const & { return toCaseFolded_helper(*this); } - Q_REQUIRED_RESULT Q_ALWAYS_INLINE QString toCaseFolded() && + Q_REQUIRED_RESULT QString toCaseFolded() && { return toCaseFolded_helper(*this); } - Q_REQUIRED_RESULT Q_ALWAYS_INLINE QString trimmed() const & + Q_REQUIRED_RESULT QString trimmed() const & { return trimmed_helper(*this); } - Q_REQUIRED_RESULT Q_ALWAYS_INLINE QString trimmed() && + Q_REQUIRED_RESULT QString trimmed() && { return trimmed_helper(*this); } - Q_REQUIRED_RESULT Q_ALWAYS_INLINE QString simplified() const & + Q_REQUIRED_RESULT QString simplified() const & { return simplified_helper(*this); } - Q_REQUIRED_RESULT Q_ALWAYS_INLINE QString simplified() && + Q_REQUIRED_RESULT QString simplified() && { return simplified_helper(*this); } # ifdef Q_REQUIRED_RESULT_pushed # pragma pop_macro("Q_REQUIRED_RESULT") |