KDevelop 5.6 beta 1 released

Friedrich W. H. Kossebau kossebau at kde.org
Sat Aug 29 00:20:12 BST 2020


Am Freitag, 28. August 2020, 22:51:34 CEST schrieb René J. V. Bertin:
> Friedrich W. H. Kossebau wrote:
> > Hi René,
> > 
> > Am Freitag, 28. August 2020, 21:38:07 CEST schrieb René J.V. Bertin:
> >> Any idea why I'm getting this error (on Linux, and idem when using clang
> >> 8
> >> and for the record, this on unpatched sources):
> >> 
> >> [ 34%] Building CXX object
> >> kdevplatform/project/CMakeFiles/KDevPlatformProject.dir/projectmodel.cpp.
> >> o
> >> cd /path/to/build/kdevplatform/project && /opt/local/bin/ccache
> >> /opt/local/bin/clang++-mp-5.0  -DKCOREADDONS_LIB
> >> -DKDevPlatformProject_EXPORTS -DKF_DEPRECATED_WARNINGS_SINCE=0x060000
> >> -DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x053200 -DQT_CONCURRENT_LIB
> >> -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_DEPRECATED_WARNINGS
> >> -DQT_DEPRECATED_WARNINGS_SINCE=0x060000
> >> -DQT_DISABLE_DEPRECATED_BEFORE=0x050800 -DQT_GUI_LIB -DQT_NETWORK_LIB
> >> -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_FROM_BYTEARRAY -DQT_NO_CAST_TO_ASCII
> >> -DQT_NO_DEBUG -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT
> >> -DQT_NO_SIGNALS_SLOTS_KEYWORDS -DQT_NO_URL_CAST_FROM_STRING
> >> -DQT_STRICT_ITERATORS -DQT_USE_QSTRINGBUILDER -DQT_WIDGETS_LIB
> >> -DQT_XML_LIB
> >> -DTRANSLATION_DOMAIN=\"kdevplatform\" -D_GNU_SOURCE -D_LARGEFILE64_SOURCE
> >> -I/path/to/build/kdevplatform/project
> >> -I/path/to/kf5-kdevelop-5/kdevplatform/project
> >> -I/path/to/build/kdevplatform/project/KDevPlatformProject_autogen/include
> >> -I/path/to/build -I/path/to/kf5-kdevelop-5/kdevplatform
> >> -I/path/to/build/kdevplatform -I/path/to/build/kdevplatform/interfaces
> >> -I/path/to/kf5-kdevelop-5/kdevplatform/interfaces
> >> -I/path/to/build/kdevplatform/util
> >> -I/path/to/kf5-kdevelop-5/kdevplatform/util
> >> -I/path/to/build/kdevplatform/vcs
> >> -I/path/to/kf5-kdevelop-5/kdevplatform/vcs
> >> -I/path/to/build/kdevplatform/outputview
> >> -I/path/to/kf5-kdevelop-5/kdevplatform/outputview
> >> -I/path/to/build/kdevplatform/serialization
> >> -I/path/to/kf5-kdevelop-5/kdevplatform/serialization
> >> -I/path/to/build/kdevplatform/sublime
> >> -I/path/to/kf5-kdevelop-5/kdevplatform/sublime -isystem
> >> /opt/local/include/KF5/KTextEditor -isystem /opt/local/include/KF5
> >> -isystem
> >> /opt/local/include/KF5/KParts -isystem /opt/local/include/KF5/KIOWidgets
> >> -isystem /opt/local/include/KF5/KIOCore -isystem
> >> /opt/local/include/KF5/KCoreAddons -isystem /opt/local/include/qt5
> >> -isystem
> >> /opt/local/include/qt5/QtCore -isystem
> >> /opt/local/share/qt5/mkspecs/linux-clang -isystem
> >> /opt/local/include/KF5/KService -isystem
> >> /opt/local/include/KF5/KConfigCore
> >> -isystem /opt/local/include/qt5/QtNetwork -isystem
> >> /opt/local/include/qt5/QtConcurrent -isystem
> >> /opt/local/include/qt5/QtDBus
> >> -isystem /opt/local/include/KF5/KJobWidgets -isystem
> >> /opt/local/include/qt5/QtWidgets -isystem /opt/local/include/qt5/QtGui
> >> -isystem /opt/local/include -isystem /opt/local/include/KF5/KCompletion
> >> -isystem /opt/local/include/KF5/KWidgetsAddons -isystem
> >> /opt/local/include/KF5/KXmlGui -isystem /opt/local/include/qt5/QtXml
> >> -isystem /opt/local/include/KF5/KConfigWidgets -isystem
> >> /opt/local/include/KF5/KCodecs -isystem /opt/local/include/KF5/KConfigGui
> >> -isystem /opt/local/include/KF5/KAuth -isystem
> >> /opt/local/include/KF5/KTextWidgets -isystem
> >> /opt/local/include/KF5/SonnetUi -isystem /opt/local/include/KF5/KI18n 
> >> -O3
> >> -march=native -g -fno-limit-debug-info -fstandalone-debug -std=c++11
> >> -isystem/opt/local/include -g -fno-limit-debug-info -fstandalone-debug
> >> -m64
> >> -fno-operator-names -fno-exceptions -DQT_NO_EXCEPTIONS
> >> -Wno-gnu-zero-variadic-macro-arguments -Wall -Wextra -Wcast-align
> >> -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith
> >> -Wundef
> >> -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla
> >> -Wdate-time -Wzero-as-null-pointer-constant -fPIC -fvisibility=hidden
> >> -fvisibility-inlines-hidden   -Wno-missing-field-initializers
> >> -Werror=switch -Werror=undefined-bool-conversion
> >> -Werror=tautological-undefined-compare -Werror=implicit-fallthrough
> >> -Wdocumentation -Wcovered-switch-default -Wunreachable-code-break
> >> -Wno-gnu-zero-variadic-macro-arguments -pedantic -fPIC -std=gnu++11 -o
> >> CMakeFiles/KDevPlatformProject.dir/projectmodel.cpp.o -c
> >> /path/to/kf5-kdevelop-5/kdevplatform/project/projectmodel.cpp
> >> /path/to/kf5-kdevelop-5/kdevplatform/project/projectmodel.cpp:174:14:
> >> error: no viable overloaded '=' d->flags = Qt::ItemIsSelectable |
> >> Qt::ItemIsEnabled;
> >> 
> >>     ~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >> 
> >> /opt/local/include/qt5/QtCore/qflags.h:91:7: note: candidate function
> >> (the
> >> implicit copy assignment operator) not viable: no known conversion from
> >> 'int' to 'const QFlags<Qt::ItemFlag>' for 1st argument class QFlags
> >> 
> >>       ^
> >> 
> >> /opt/local/include/qt5/QtCore/qflags.h:91:7: note: candidate function
> >> (the
> >> implicit move assignment operator) not viable: no known conversion from
> >> 'int' to 'QFlags<Qt::ItemFlag>' for 1st argument 1 error generated.
> >> make[1]: ***
> >> [kdevplatform/project/CMakeFiles/KDevPlatformProject.dir/projectmodel.cpp
> >> .o
> >> ] Error 1
> > 
> > Thanks for reporting. What version of Qt & KF?
> 
> Qt 5.9.8, KF5 5.60.0, ECM 5.70.3 (for both reported cases of course).

Ah, Qt 5.9. Meh, guess a commit of mine is to blame, the one which moved 
Q_DECLARE_OPERATORS_FOR_FLAGS into the closest enclosing namespaces of the 
flags for which they declare the operator|() methods (-> 
bd8a49a10ab290874bfddf2c9824697bc1a04243).
And while that commit should actually prevent the very same build errors with 
our KDevelop flags, they on the other hand seem to now trigger instead 
themselves those build errors with Qt < 5.12, as Qt itself was only fixed for 
Qt 5.12 for this, cmp. https://codereview.qt-project.org/c/qt/qtbase/+/225348

I did a commit now adapting that to use the new Q_DECLARE_OPERATORS_FOR_FLAGS 
locations only for Qt >= 5.12, and the old for Qt 5.12. Pushed both to 5.6 & 
master. Please give it a try and report.

Cheers
Friedrich




More information about the KDevelop-devel mailing list