QDataStream: Fix inlining of operator<<,>>() for quint32

The inline operators are referenced by the container serialization
helper code above the definition, causing g++ 8.1/MinGW to complain:

In file included from ..\..\include/QtCore/qdatastream.h:1,
                 from access\qnetworkaccessdebugpipebackend.cpp:41:
..\..\include/QtCore/../../src/corelib/serialization/qdatastream.h:349:21: error: 'QDataStream& QDataStream::operator>>(quint32&)' redeclared without dllimport attribute after being referenced with dll linkage [-Werror]
 inline QDataStream &QDataStream::operator>>(quint32 &i)
                     ^~~~~~~~~~~
..\..\include/QtCore/../../src/corelib/serialization/qdatastream.h:361:21: error: 'QDataStream& QDataStream::operator<<(quint32)' redeclared without dllimport attribute after being referenced with dll linkage [-Werror]
 inline QDataStream &QDataStream::operator<<(quint32 i)

Declare the operators to be inline to fix this.

Task-number: QTBUG-68742
Task-number: QTQAINFRA-2095
Change-Id: Ifa075aff8749df5c7a56148b8b9a0e3ec1e853aa
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
bb10
Friedemann Kleint 2018-06-21 11:38:50 +02:00
parent c44e8b2566
commit 64286ff96a
1 changed files with 2 additions and 2 deletions

View File

@ -151,7 +151,7 @@ public:
QDataStream &operator>>(qint16 &i);
QDataStream &operator>>(quint16 &i);
QDataStream &operator>>(qint32 &i);
QDataStream &operator>>(quint32 &i);
inline QDataStream &operator>>(quint32 &i);
QDataStream &operator>>(qint64 &i);
QDataStream &operator>>(quint64 &i);
QDataStream &operator>>(std::nullptr_t &ptr) { ptr = nullptr; return *this; }
@ -167,7 +167,7 @@ public:
QDataStream &operator<<(qint16 i);
QDataStream &operator<<(quint16 i);
QDataStream &operator<<(qint32 i);
QDataStream &operator<<(quint32 i);
inline QDataStream &operator<<(quint32 i);
QDataStream &operator<<(qint64 i);
QDataStream &operator<<(quint64 i);
QDataStream &operator<<(std::nullptr_t) { return *this; }