[Interest] Qt 6.4.3 compiler warnings in QTaggedPointer

Hamish Moffatt hamish at risingsoftware.com
Wed Mar 22 07:18:17 CET 2023


I'm porting from Qt 5.15.12 to 6.4.3, and now MSVC 2019 is giving me a 
ton of compiler warnings about QTaggedPointer.

I don't know what that is, except I see it used in qproperty.h and I use 
a lot of Q_GADGET classes with Q_PROPERTYs.

I'm using /W3 in MSVC and compiling for 64-bit. I've enabled some extra 
warnings on top, but not C2424.


Any suggestions on how to shut it up?

Hamish



1>C:\qt\Qt6.4.2\6.4.2\msvc2019_64\include\QtCore\qtaggedpointer.h(24,1): 
warning C4242: 'initializing': conversion from 'uint' to 'const quint8', 
possible loss of data
1>C:\qt\Qt6.4.2\6.4.2\msvc2019_64\include\QtCore\qtaggedpointer.h(55,1): 
message : see reference to class template instantiation 
'QtPrivate::TagInfo<T>' being compiled
1>        with
1>        [
1>            T=quint16
1>        ]
1>C:\qt\Qt6.4.2\6.4.2\msvc2019_64\include\QtCore\qtaggedpointer.h(49,1): 
message : while compiling class template member function 
'QTaggedPointer<Storage,QtPrivate::QConstPreservingPointer<void,Storage>::Tag>::QTaggedPointer(T 
*,Tag) noexcept'
1>        with
1>        [
1>            Storage=quint16,
1>            T=quint16,
1> Tag=QtPrivate::QConstPreservingPointer<void,quint16>::Tag
1>        ]
1>C:\qt\Qt6.4.2\6.4.2\msvc2019_64\include\QtCore\qiterable.h(32,24): 
message : see reference to function template instantiation 
'QTaggedPointer<Storage,QtPrivate::QConstPreservingPointer<void,Storage>::Tag>::QTaggedPointer(T 
*,Tag) noexcept' being compiled
1>        with
1>        [
1>            Storage=quint16,
1>            T=quint16,
1> Tag=QtPrivate::QConstPreservingPointer<void,quint16>::Tag
1>        ]
1>C:\qt\Qt6.4.2\6.4.2\msvc2019_64\include\QtCore\qiterable.h(19): 
message : see reference to class template instantiation 
'QTaggedPointer<Storage,QtPrivate::QConstPreservingPointer<void,Storage>::Tag>' 
being compiled
1>        with
1>        [
1>            Storage=quint16
1>        ]
1>C:\qt\Qt6.4.2\6.4.2\msvc2019_64\include\QtCore\qiterable.h(413): 
message : see reference to class template instantiation 
'QtPrivate::QConstPreservingPointer<void,quint16>' being compiled
1>C:\qt\Qt6.4.2\6.4.2\msvc2019_64\include\QtCore\qiterable.h(508,2): 
message : see reference to class template instantiation 
'QIterable<Container>' being compiled



More information about the Interest mailing list