commit | f1b9302a1eba9aa277ecff74653b1e5d2ad3f45e | [log] [tgz] |
---|---|---|
author | Kalev Lember <klember@redhat.com> | Mon Feb 08 16:36:13 2021 +0100 |
committer | Kalev Lember <klember@redhat.com> | Mon Feb 08 17:41:51 2021 +0100 |
tree | df5dae5b1ade224658a29dd954101cb119dd7b89 | |
parent | 203e078fdf31b147312da667cb6a4674e60ffbca [diff] |
gmacros: Guard C++ code with extern "C++" A number of C++ consumers are (incorrectly) including glib headers in an extern "C" block, which leads to build failures such as: /usr/include/c++/11/type_traits:56:3: error: template with C linkage 56 | template<typename _Tp, _Tp __v> | ^~~~~~~~ We can easily escape that on the glib side by putting the C++ code in an extern "C++" block. Which technically it's a bug on the consuming program's side, I think it's pragmatic here to work this around on the glib side.
GLib is the low-level core library that forms the basis for projects such as GTK and GNOME. It provides data structure handling for C, portability wrappers, and interfaces for such runtime functionality as an event loop, threads, dynamic loading, and an object system.
The official download locations are: https://download.gnome.org/sources/glib
The official web site is: https://www.gtk.org/
See the file ‘INSTALL.in’
Bugs should be reported to the GNOME issue tracking system. (https://gitlab.gnome.org/GNOME/glib/issues/new). You will need to create an account for yourself.
In the bug report please include:
Patches should also be submitted as merge requests to gitlab.gnome.org. If the patch fixes an existing issue, please refer to the issue in your commit message with the following notation (for issue 123): Closes: #123
Otherwise, create a new merge request that introduces the change, filing a separate issue is not required.