glib/gobject
Iain Lane 552b8fd862
glib/gmacros.h: Move <type_traits> include to consumers
When included inside an `extern "C"` block, this causes build failures
that look something like:

  /usr/include/c++/10/type_traits:2930:3: error: template with C linkage
   2930 |   template<typename _Fn, typename... _Args>
        |   ^~~~~~~~
  ../../disas/arm-a64.cc:20:1: note: ‘extern "C"’ linkage started here
     20 | extern "C" {
        | ^~~~~~~~~~

Commit 4273c43902 made this opt in for
projects which are defining `GLIB_VERSION_MIN_REQUIRED`, but the include
of `<type_traits>` via `gmacros.h` was not included in this. If we move
the include out to the places where `glib_typeof` is called, we can make
it covered by this macro too, and save a few consumers from FTBFSing.

That also means that, if you don't want to fix your use of the headers,
and as long as this version is sufficient for you, a quick workaround is
to define `GLIB_VERSION_MIN_REQUIRED` to `GLIB_VERSION_2_66` or lower.

Suggested by Simon McVittie.

Alternative to: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1935
Fixes: https://gitlab.gnome.org/GNOME/glib/-/issues/2331
2021-02-25 15:33:59 +00:00
..
tests gobject: Use g_memdup2() instead of g_memdup() in obvious places 2021-02-04 14:13:21 +00:00
gatomicarray.c gatomicarray: suppress valgrind memory leak warnings 2020-11-24 08:10:58 -06:00
gatomicarray.h gatomicarray: Drop volatile qualifier from GAtomicArray API 2020-11-20 14:40:19 +00:00
gbinding.c Handle the case of g_object_run_dispose() in GBinding 2020-12-08 18:41:27 +02:00
gbinding.h Deprecate g_binding_get_source() and get_target() in favour of dup_source() and dup_target() 2020-11-26 19:51:56 +02:00
gboxed.c gobject: Drop use of volatile from get_type() macros 2020-11-20 14:40:19 +00:00
gboxed.h gobject/: LGPLv2+ -> LGPLv2.1+ 2017-05-24 11:58:19 +02:00
gclosure.c gobject: Drop unnecessary volatile qualifiers from internal variables 2020-11-20 14:40:19 +00:00
gclosure.h gobject: Drop unnecessary volatile qualifiers from internal variables 2020-11-20 14:40:19 +00:00
genums.c genums: Add missing (transfer) and (nullable) return annotations 2020-12-11 23:48:35 +00:00
genums.h gobject/: LGPLv2+ -> LGPLv2.1+ 2017-05-24 11:58:19 +02:00
glib-enumtypes.c.template gobject: Drop use of volatile from get_type() macros 2020-11-20 14:40:19 +00:00
glib-enumtypes.h.template build: Rename gobjectenumtypes.[ch] to glib-enumtypes.[ch] 2019-03-04 11:12:59 +00:00
glib-genmarshal.in glib-genmarshal: Avoid a param ref for static param valist arguments 2019-06-18 11:59:11 +01:00
glib-mkenums.in mkenums: Support public/private trigraphs again 2021-01-10 20:51:54 +01:00
glib-types.h Add boxing for GTree 2020-10-07 11:00:11 +01:00
gmarshal.c minor typos in the documentation (a/an) 2019-08-24 19:14:05 +00:00
gmarshal.h gmarshal: Move marshaller documentation comments to above functions 2019-03-04 12:33:17 +00:00
gobject_gdb.py py: Various flake8 cleanups 2020-11-17 15:50:07 +00:00
gobject_probes.d Add missing semicolons to gobject_probes.d 2012-10-15 19:48:44 -04:00
gobject_trace.h build: Disable dtrace probes under static analysis 2019-09-05 14:16:58 +01:00
gobject-autocleanups.h gobject: Add g_autoptr() support for GTypeClass, GEnumClass, GFlagsClass 2018-05-15 15:38:33 +01:00
gobject-query.c Spelling: fix spelling of specify 2018-09-25 14:34:48 +01:00
gobject.c Fix the transfer annotations for GClosure constructors 2021-01-19 11:36:01 +02:00
gobject.h glib/gmacros.h: Move <type_traits> include to consumers 2021-02-25 15:33:59 +00:00
gobject.rc.in meson: build Windows resource files 2018-01-04 22:19:30 +01:00
gobject.stp.in glib: Namespace global tapset variables by soname 2016-11-23 10:50:39 +00:00
gobjectnotifyqueue.c gobject/: LGPLv2+ -> LGPLv2.1+ 2017-05-24 11:58:19 +02:00
gparam.c Merge branch '2227-gobject-annotation-fixes' into 'master' 2021-01-19 11:35:15 +00:00
gparam.h gobject: Add g_{param_spec,signal}_is_valid_name() functions 2020-03-04 14:46:28 +00:00
gparamspecs.c glib: Avoid redefining GLIB_DISABLE_DEPRECATION_WARNINGS 2020-07-27 15:41:09 +01:00
gparamspecs.h tree: Fix various typos and outdated terminology 2020-06-12 15:01:08 +01:00
gsignal.c gobject: Use g_memdup2() instead of g_memdup() in obvious places 2021-02-04 14:13:21 +00:00
gsignal.h gsignal: let g_clear_signal_handler() evaluate argument only once 2021-02-01 09:45:16 +01:00
gsourceclosure.c gobject: Drop use of volatile from get_type() macros 2020-11-20 14:40:19 +00:00
gsourceclosure.h gobject/: LGPLv2+ -> LGPLv2.1+ 2017-05-24 11:58:19 +02:00
gtype-private.h Use the GObject hole on 64bit arches for some flags to improve performance 2019-09-02 15:48:32 +02:00
gtype.c gobject: Use g_memdup2() instead of g_memdup() in obvious places 2021-02-04 14:13:21 +00:00
gtype.h gtype: Improve formatting of GType documentation 2021-01-20 15:42:55 +00:00
gtypemodule.c gobject: Use g_memdup2() instead of g_memdup() in obvious places 2021-02-04 14:13:21 +00:00
gtypemodule.h gtypemodule: Cast *_init functions to void(*)(void) first 2019-01-25 11:29:05 +00:00
gtypeplugin.c Fix missing initializer warning in gobject/gtypeplugin.c:g_type_plugin_get_type() 2020-12-16 10:56:32 +01:00
gtypeplugin.h gobject: Standardise on the term ‘instantiatable’ 2020-11-02 17:22:01 +00:00
gvalue.c value: Allow automatic transforms to/from interfaces 2020-11-02 17:36:18 +00:00
gvalue.h gvalue: Do copy non-interned strings 2020-06-23 10:30:55 +00:00
gvaluearray.c gvaluearray: Mark the whole of GValueArray as deprecated 2019-03-15 11:09:36 +00:00
gvaluearray.h Annotate various types and macros as deprecated 2019-05-30 10:39:11 +01:00
gvaluecollector.h tree: Fix various typos and outdated terminology 2020-06-12 15:01:08 +01:00
gvaluetransform.c gobject/: LGPLv2+ -> LGPLv2.1+ 2017-05-24 11:58:19 +02:00
gvaluetypes.c gvalue: Do copy non-interned strings 2020-06-23 10:30:55 +00:00
gvaluetypes.h GValue: Add interned string support 2020-05-19 17:52:55 +02:00
libgobject-gdb.py.in Rename gdb macros with _gdb suffix to avoid ns clashes 2016-05-23 10:52:10 -04:00
meson.build Meson: Override every dependency glib provides 2020-04-05 00:34:04 -04:00