Package: libqt4-dev Version: 4.1.4-1 Severity: normal Whenever I try to use QHash or QSet (which is built from QHash) I get a billion warnings from qhash.h like the following:
/usr/include/qt4/QtCore/qhash.h:236: instantiated from ‘void QHash<Key, T>::detach() [with Key = int, T = QHashDummyValue]’ /usr/include/qt4/QtCore/qhash.h:711: instantiated from ‘void QHash<Key, T>::reserve(int) [with Key = int, T = QHashDummyValue]’ /usr/include/qt4/QtCore/qset.h:146: instantiated from ‘void QSet<T>::reserve(int) [with T = int]’ /usr/include/qt4/QtCore/qset.h:204: instantiated from ‘QSet<T> QList<T>::toSet() const [with T = int]’ example.cpp:194: instantiated from here /usr/include/qt4/QtCore/qhash.h:477: warning: dereferencing type-punned pointer will break strict-aliasing rules The line of my actual code is usually when I'm doing something very simple, like using operator[]. The same exact code replacing QHash for QMap always gets rid of the warning. Unfortunately, this isn't even a workaround, because QSet always uses QHash, so to get a list of unique keys from a multimap: QList<int> keys = multimap.keys().toSet() This also results in the warning quoted above. Anyway, the problem appears to be in the QHash detach_helper method, where it does a lot of reinterpret casting and then deferences a pointer. I haven't yet investigated what needs to be done to fix this code. -- System Information: Debian Release: testing/unstable APT prefers unstable APT policy: (500, 'unstable') Architecture: amd64 (x86_64) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.17-1-amd64-k8 Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Versions of packages libqt4-dev depends on: ii libaudio-dev 1.8-2 The Network Audio System (NAS). (d ii libfreetype6-dev 2.2.1-2 FreeType 2 font engine, developmen ii libgl1-mesa-dev [libgl-dev] 6.4.2-1.1 A free implementation of the OpenG ii libglu1-mesa-dev [libglu-de 6.4.2-1.1 The OpenGL utility library -- deve ii libglu1-xorg-dev 1:7.0.23 transitional package for Debian et ii libice-dev 1:1.0.0-3 X11 Inter-Client Exchange library ii libjpeg62-dev 6b-13 Development files for the IJG JPEG ii libmng-dev 1.0.9-1 M-N-G library (Development headers ii libpng12-dev [libpng12-0-de 1.2.8rel-5.2 PNG library - development ii libqt4-core 4.1.4-1 Qt 4 core non-GUI functionality ru ii libqt4-gui 4.1.4-1 Qt 4 core GUI functionality runtim ii libqt4-qt3support 4.1.4-1 Qt 3 compatibility library for Qt ii libqt4-sql 4.1.4-1 Qt 4 SQL database module ii libsm-dev 1:1.0.0-4 X11 Inter-Client Exchange library ii libx11-dev 2:1.0.0-8 X11 client-side library (developme ii libxcursor-dev 1.1.5.2-5 X cursor management library (devel ii libxext-dev 1:1.0.0-4 X11 miscellaneous extensions libra ii libxft-dev 2.1.8.2-8 FreeType-based font drawing librar ii libxi-dev 1:1.0.0-5 X11 Input extension library (devel ii libxinerama-dev 1:1.0.1-4.1 X11 Xinerama extension library (de ii libxmu-dev 1:1.0.1-3 X11 miscellaneous utility library ii libxrandr-dev 2:1.1.0.2-4 X11 RandR extension library (devel ii libxrender-dev 1:0.9.0.2-4 X Rendering Extension client libra ii libxt-dev 1:1.0.0-5 X11 toolkit intrinsics library (de ii x11proto-core-dev 7.0.4-3 X11 core wire protocol and auxilia ii xlibmesa-gl-dev 1:7.0.23 transitional package for Debian et ii zlib1g-dev 1:1.2.3-13 compression library - development Versions of packages libqt4-dev recommends: ii qt4-dev-tools 4.1.4-1 Qt 4 development tools -- no debconf information