[Bug 1955044] Re: [SRU] /usr/include/glibmm-2.4/glibmm/variant.h:956:24: error: expected unqualified-id before ‘)’ token
Nicholas Guriev
1955044 at bugs.launchpad.net
Tue Dec 28 20:07:16 UTC 2021
** Description changed:
There are compilation errors when I try to include the <glibmm.h> header under C++20 and run default compiler, GCC 11.
This is reproducible in Ubuntu 21.10 (Impish Indri) or Ubuntu devel (Jammy Jellyfish) but not in Ubuntu 21.04 (Impish Indri) or Debian unstable. And this is effecting building of the telegram-desktop package.
mymedia at barberry:~$ g++ -x c++ -std=gnu++20 -include glibmm.h - <<< 'int main(){}' `pkg-config --cflags --libs glibmm-2.4` -o /dev/null
In file included from /usr/include/glibmm-2.4/glibmm/containerhandle_shared.h:23,
from /usr/include/glibmm-2.4/glibmm/arrayhandle.h:21,
from /usr/include/glibmm-2.4/glibmm.h:92,
from <command-line>:
/usr/include/glibmm-2.4/glibmm/variant.h:956:24: error: expected unqualified-id before ‘)’ token
956 | Variant<VariantBase>();
| ^
/usr/include/glibmm-2.4/glibmm/variant.h:1017:25: error: expected unqualified-id before ‘)’ token
1017 | Variant< Variant<T> >();
| ^
/usr/include/glibmm-2.4/glibmm/variant.h:1070:26: error: expected unqualified-id before ‘)’ token
1070 | Variant<Glib::ustring>();
| ^
/usr/include/glibmm-2.4/glibmm/variant.h:1240:24: error: expected unqualified-id before ‘)’ token
1240 | Variant<std::string>();
| ^
/usr/include/glibmm-2.4/glibmm/variant.h:1286:30: error: expected unqualified-id before ‘)’ token
1286 | Variant< std::pair<K, V> >()
| ^
/usr/include/glibmm-2.4/glibmm/variant.h:1335:29: error: expected unqualified-id before ‘)’ token
1335 | Variant< std::vector<T> >()
| ^
/usr/include/glibmm-2.4/glibmm/variant.h:1404:41: error: expected unqualified-id before ‘)’ token
1404 | Variant< std::vector<Glib::ustring> >();
| ^
/usr/include/glibmm-2.4/glibmm/variant.h:1530:39: error: expected unqualified-id before ‘)’ token
1530 | Variant< std::vector<std::string> >();
| ^
/usr/include/glibmm-2.4/glibmm/variant.h:1606:29: error: expected unqualified-id before ‘)’ token
1606 | Variant< std::map<K, V> >()
| ^
/usr/include/glibmm-2.4/glibmm/variant.h:1679:33: error: expected unqualified-id before ‘)’ token
1679 | Variant<std::tuple<Types...>>()
| ^
In file included from /usr/include/glibmm-2.4/glibmm/variant.h:1742,
from /usr/include/glibmm-2.4/glibmm/containerhandle_shared.h:23,
from /usr/include/glibmm-2.4/glibmm/arrayhandle.h:21,
from /usr/include/glibmm-2.4/glibmm.h:92,
from <command-line>:
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:23:17: error: expected unqualified-id before ‘)’ token
23 | Variant<bool>()
| ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:66:26: error: expected unqualified-id before ‘)’ token
66 | Variant<unsigned char>()
| ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:109:19: error: expected unqualified-id before ‘)’ token
109 | Variant<gint16>()
| ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:152:20: error: expected unqualified-id before ‘)’ token
152 | Variant<guint16>()
| ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:195:19: error: expected unqualified-id before ‘)’ token
195 | Variant<gint32>()
| ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:244:20: error: expected unqualified-id before ‘)’ token
244 | Variant<guint32>()
| ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:287:19: error: expected unqualified-id before ‘)’ token
287 | Variant<gint64>()
| ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:330:20: error: expected unqualified-id before ‘)’ token
330 | Variant<guint64>()
| ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:373:19: error: expected unqualified-id before ‘)’ token
373 | Variant<double>()
| ^
In file included from /usr/include/glibmm-2.4/glibmm/containerhandle_shared.h:23,
from /usr/include/glibmm-2.4/glibmm/arrayhandle.h:21,
from /usr/include/glibmm-2.4/glibmm.h:92,
from <command-line>:
/usr/include/glibmm-2.4/glibmm/variant.h:1751:1: error: no declaration matches ‘Glib::Variant<Glib::Variant<T> >::Variant()’
1751 | Variant< Variant<T> >::Variant()
| ^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/glibmm-2.4/glibmm/containerhandle_shared.h:23,
from /usr/include/glibmm-2.4/glibmm/arrayhandle.h:21,
from /usr/include/glibmm-2.4/glibmm.h:92,
from <command-line>:
/usr/include/glibmm-2.4/glibmm/variant.h:1026:12: note: candidate is: ‘Glib::Variant<Glib::Variant<T> >::Variant(GVariant*, bool)’
1026 | explicit Variant< Variant<T> >(GVariant* castitem, bool take_a_reference = false);
| ^~~~~~~~~~~~~~~~~~~~~
/usr/include/glibmm-2.4/glibmm/variant.h:1009:7: note: ‘class Glib::Variant<Glib::Variant<T> >’ defined here
1009 | class Variant< Variant<T> > : public VariantContainerBase
| ^~~~~~~~~~~~~~~~~~~~~
[Test Plan]
Run the following two terminal commands in Bash:
1. sudo apt-get satisfy libglibmm-2.4-dev 'build-essential | g++'
2. g++ -x c++ -std=gnu++20 -include glibmm.h - <<< 'int main(){}' `pkg-config --cflags --libs glibmm-2.4` -o /dev/null
+ Make sure the latter command produced no output and ended with zero exit
+ code.
+
[Where problems could occur]
The proposed patch only modifies C++ headers. It may affect only building other packages from source or developer experience.
** Summary changed:
- [SRU] /usr/include/glibmm-2.4/glibmm/variant.h:956:24: error: expected unqualified-id before ‘)’ token
+ [SRU] /usr/include/glibmm-2.4/glibmm/variant.h:956:24: error: expected unqualified-id before ‘)’ token (with GCC 11 in C++20 mode)
--
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1955044
Title:
[SRU] /usr/include/glibmm-2.4/glibmm/variant.h:956:24: error: expected
unqualified-id before ‘)’ token (with GCC 11 in C++20 mode)
Status in glibmm2.4 package in Ubuntu:
New
Bug description:
There are compilation errors when I try to include the <glibmm.h> header under C++20 and run default compiler, GCC 11.
This is reproducible in Ubuntu 21.10 (Impish Indri) or Ubuntu devel (Jammy Jellyfish) but not in Ubuntu 21.04 (Impish Indri) or Debian unstable. And this is effecting building of the telegram-desktop package.
mymedia at barberry:~$ g++ -x c++ -std=gnu++20 -include glibmm.h - <<< 'int main(){}' `pkg-config --cflags --libs glibmm-2.4` -o /dev/null
In file included from /usr/include/glibmm-2.4/glibmm/containerhandle_shared.h:23,
from /usr/include/glibmm-2.4/glibmm/arrayhandle.h:21,
from /usr/include/glibmm-2.4/glibmm.h:92,
from <command-line>:
/usr/include/glibmm-2.4/glibmm/variant.h:956:24: error: expected unqualified-id before ‘)’ token
956 | Variant<VariantBase>();
| ^
/usr/include/glibmm-2.4/glibmm/variant.h:1017:25: error: expected unqualified-id before ‘)’ token
1017 | Variant< Variant<T> >();
| ^
/usr/include/glibmm-2.4/glibmm/variant.h:1070:26: error: expected unqualified-id before ‘)’ token
1070 | Variant<Glib::ustring>();
| ^
/usr/include/glibmm-2.4/glibmm/variant.h:1240:24: error: expected unqualified-id before ‘)’ token
1240 | Variant<std::string>();
| ^
/usr/include/glibmm-2.4/glibmm/variant.h:1286:30: error: expected unqualified-id before ‘)’ token
1286 | Variant< std::pair<K, V> >()
| ^
/usr/include/glibmm-2.4/glibmm/variant.h:1335:29: error: expected unqualified-id before ‘)’ token
1335 | Variant< std::vector<T> >()
| ^
/usr/include/glibmm-2.4/glibmm/variant.h:1404:41: error: expected unqualified-id before ‘)’ token
1404 | Variant< std::vector<Glib::ustring> >();
| ^
/usr/include/glibmm-2.4/glibmm/variant.h:1530:39: error: expected unqualified-id before ‘)’ token
1530 | Variant< std::vector<std::string> >();
| ^
/usr/include/glibmm-2.4/glibmm/variant.h:1606:29: error: expected unqualified-id before ‘)’ token
1606 | Variant< std::map<K, V> >()
| ^
/usr/include/glibmm-2.4/glibmm/variant.h:1679:33: error: expected unqualified-id before ‘)’ token
1679 | Variant<std::tuple<Types...>>()
| ^
In file included from /usr/include/glibmm-2.4/glibmm/variant.h:1742,
from /usr/include/glibmm-2.4/glibmm/containerhandle_shared.h:23,
from /usr/include/glibmm-2.4/glibmm/arrayhandle.h:21,
from /usr/include/glibmm-2.4/glibmm.h:92,
from <command-line>:
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:23:17: error: expected unqualified-id before ‘)’ token
23 | Variant<bool>()
| ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:66:26: error: expected unqualified-id before ‘)’ token
66 | Variant<unsigned char>()
| ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:109:19: error: expected unqualified-id before ‘)’ token
109 | Variant<gint16>()
| ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:152:20: error: expected unqualified-id before ‘)’ token
152 | Variant<guint16>()
| ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:195:19: error: expected unqualified-id before ‘)’ token
195 | Variant<gint32>()
| ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:244:20: error: expected unqualified-id before ‘)’ token
244 | Variant<guint32>()
| ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:287:19: error: expected unqualified-id before ‘)’ token
287 | Variant<gint64>()
| ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:330:20: error: expected unqualified-id before ‘)’ token
330 | Variant<guint64>()
| ^
/usr/include/glibmm-2.4/glibmm/variant_basictypes.h:373:19: error: expected unqualified-id before ‘)’ token
373 | Variant<double>()
| ^
In file included from /usr/include/glibmm-2.4/glibmm/containerhandle_shared.h:23,
from /usr/include/glibmm-2.4/glibmm/arrayhandle.h:21,
from /usr/include/glibmm-2.4/glibmm.h:92,
from <command-line>:
/usr/include/glibmm-2.4/glibmm/variant.h:1751:1: error: no declaration matches ‘Glib::Variant<Glib::Variant<T> >::Variant()’
1751 | Variant< Variant<T> >::Variant()
| ^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/glibmm-2.4/glibmm/containerhandle_shared.h:23,
from /usr/include/glibmm-2.4/glibmm/arrayhandle.h:21,
from /usr/include/glibmm-2.4/glibmm.h:92,
from <command-line>:
/usr/include/glibmm-2.4/glibmm/variant.h:1026:12: note: candidate is: ‘Glib::Variant<Glib::Variant<T> >::Variant(GVariant*, bool)’
1026 | explicit Variant< Variant<T> >(GVariant* castitem, bool take_a_reference = false);
| ^~~~~~~~~~~~~~~~~~~~~
/usr/include/glibmm-2.4/glibmm/variant.h:1009:7: note: ‘class Glib::Variant<Glib::Variant<T> >’ defined here
1009 | class Variant< Variant<T> > : public VariantContainerBase
| ^~~~~~~~~~~~~~~~~~~~~
[Test Plan]
Run the following two terminal commands in Bash:
1. sudo apt-get satisfy libglibmm-2.4-dev 'build-essential | g++'
2. g++ -x c++ -std=gnu++20 -include glibmm.h - <<< 'int main(){}' `pkg-config --cflags --libs glibmm-2.4` -o /dev/null
Make sure the latter command produced no output and ended with zero
exit code.
[Where problems could occur]
The proposed patch only modifies C++ headers. It may affect only building other packages from source or developer experience.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/glibmm2.4/+bug/1955044/+subscriptions
More information about the Ubuntu-sponsors
mailing list