Bug #2040
closedadvancednotifications build error: expected unqualified-id before ‘[’ token" in `UnhandledNotificationsKeeper::GetRulesEntities`
100%
Description
/var/tmp/portage/app-leechcraft/lc-advancednotifications-9999/work/lc-advancednotifications-9999/src/plugins/advancednotifications/unhandlednotificationskeeper.cpp: In member function ‘QList<LeechCraft::Entity> LeechCraft::AdvancedNotifications::UnhandledNotificationsKeeper::GetRulesEntities(const QList<QModelIndex>&) const’: /var/tmp/portage/app-leechcraft/lc-advancednotifications-9999/work/lc-advancednotifications-9999/src/plugins/advancednotifications/unhandlednotificationskeeper.cpp:128:20: error: expected unqualified-id before ‘[’ token for (const auto& [entityNode, fieldNodes] : Util::Stlize (hierarchy)) ^ /var/tmp/portage/app-leechcraft/lc-advancednotifications-9999/work/lc-advancednotifications-9999/src/plugins/advancednotifications/unhandlednotificationskeeper.cpp:128:20: error: expected ‘;’ before ‘[’ token /var/tmp/portage/app-leechcraft/lc-advancednotifications-9999/work/lc-advancednotifications-9999/src/plugins/advancednotifications/unhandlednotificationskeeper.cpp:128:21: error: ‘entityNode’ was not declared in this scope for (const auto& [entityNode, fieldNodes] : Util::Stlize (hierarchy)) ^~~~~~~~~~ /var/tmp/portage/app-leechcraft/lc-advancednotifications-9999/work/lc-advancednotifications-9999/src/plugins/advancednotifications/unhandlednotificationskeeper.cpp:128:33: error: ‘fieldNodes’ was not declared in this scope for (const auto& [entityNode, fieldNodes] : Util::Stlize (hierarchy)) ^~~~~~~~~~ /var/tmp/portage/app-leechcraft/lc-advancednotifications-9999/work/lc-advancednotifications-9999/src/plugins/advancednotifications/unhandlednotificationskeeper.cpp: In lambda function: /var/tmp/portage/app-leechcraft/lc-advancednotifications-9999/work/lc-advancednotifications-9999/src/plugins/advancednotifications/unhandlednotificationskeeper.cpp:128:45: error: expected ‘{’ before ‘:’ token for (const auto& [entityNode, fieldNodes] : Util::Stlize (hierarchy)) ^ /var/tmp/portage/app-leechcraft/lc-advancednotifications-9999/work/lc-advancednotifications-9999/src/plugins/advancednotifications/unhandlednotificationskeeper.cpp: In member function ‘QList<LeechCraft::Entity> LeechCraft::AdvancedNotifications::UnhandledNotificationsKeeper::GetRulesEntities(const QList<QModelIndex>&) const’: /var/tmp/portage/app-leechcraft/lc-advancednotifications-9999/work/lc-advancednotifications-9999/src/plugins/advancednotifications/unhandlednotificationskeeper.cpp:128:45: error: expected ‘;’ before ‘:’ token /var/tmp/portage/app-leechcraft/lc-advancednotifications-9999/work/lc-advancednotifications-9999/src/plugins/advancednotifications/unhandlednotificationskeeper.cpp:128:45: error: expected primary-expression before ‘:’ token /var/tmp/portage/app-leechcraft/lc-advancednotifications-9999/work/lc-advancednotifications-9999/src/plugins/advancednotifications/unhandlednotificationskeeper.cpp:128:45: error: expected ‘)’ before ‘:’ token /var/tmp/portage/app-leechcraft/lc-advancednotifications-9999/work/lc-advancednotifications-9999/src/plugins/advancednotifications/unhandlednotificationskeeper.cpp:128:45: error: expected primary-expression before ‘:’ token make[2]: *** [CMakeFiles/leechcraft_advancednotifications.dir/build.make:640: CMakeFiles/leechcraft_advancednotifications.dir/unhandlednotificationskeeper.cpp.o] Error 1
Gentoo ~amd64
% gcc -v Using built-in specs. COLLECT_GCC=/usr/x86_64-pc-linux-gnu/gcc-bin/6.3.0/gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/6.3.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: /var/tmp/portage/sys-devel/gcc-6.3.0/work/gcc-6.3.0/configure --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/6.3.0 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/6.3.0 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/6.3.0/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/6.3.0/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/include/g++-v6 --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/6.3.0/python --enable-languages=c,c++,go,fortran --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --enable-nls --without-included-gettext --enable-checking=release --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion='Gentoo 6.3.0 p1.0' --disable-esp --enable-libstdcxx-time --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-multilib --with-multilib-list=m32,m64 --disable-altivec --disable-fixed-point --enable-targets=all --disable-libgcj --enable-libgomp --disable-libmudflap --disable-libssp --disable-libcilkrts --disable-libmpx --enable-vtable-verify --enable-libvtv --enable-lto --with-isl --disable-isl-version-check --enable-libsanitizer --disable-default-pie --enable-default-ssp Thread model: posix gcc version 6.3.0 (Gentoo 6.3.0 p1.0)
Updated by 0xd34df00d over 7 years ago
Mind upgrading to gcc 7 or using clang 4? :)
Jokes aside, I'm considering whether it's worth keeping stuff compatible with gcc 6 (and pre-C++17-compilers, in general). How do you reckon?
Updated by krigstask over 7 years ago
0xd34df00d wrote:
Mind upgrading to gcc 7 or using clang 4? :)
Jokes aside, I'm considering whether it's worth keeping stuff compatible with gcc 6 (and pre-C++17-compilers, in general). How do you reckon?
I don't think it's wise, really.
If you care for Leechcraft adoption, that is.
The only more-or-less widespread distro with GCC 7 as of today is… well, you know… ArchLinux.
If people need to install bleeding edge compiler just for Leechcraft, that would be a huge reason not to try Leechcraft.
I don't feel too happy either, although I'm hooked up already, and would have to bite the bullet, install clang and configure Portage to compile leechcraftz with it.
Updated by 0xd34df00d over 7 years ago
- Category set to Plugins: AN
- Status changed from New to Assigned
- Assignee set to 0xd34df00d
- Target version set to 0.6.75
- Estimated time set to 1:00 h
and would have to bite the bullet, install clang and configure Portage to compile leechcraftz with it
Nvm, I'll make that plugin compatible with gcc 6 again (and, moreover, I got another request for this change already anyway).
BTW openSUSE Factory and Debian Unstable both seem to have gcc 7 available now. Let's hope gcc 7 would be unmasked in Gentoo soon.
Updated by 0xd34df00d over 7 years ago
- Status changed from Assigned to Resolved
- % Done changed from 0 to 100
Applied in changeset main|0b561dcc9fac952567e2e382022f73bbf9164a5b.