** 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@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
Bugs, which is subscribed to Ubuntu.
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)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/glibmm2.4/+bug/1955044/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to