mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-05-24 01:48:12 +02:00
G_TYPE_CHECK_INSTANCE_CAST() can trigger a "-Wcast-align":
src/core/devices/nm-device-macvlan.c: In function 'parent_changed_notify':
/usr/include/glib-2.0/gobject/gtype.h:2421:42: error: cast increases required alignment of target type [-Werror=cast-align]
2421 | # define _G_TYPE_CIC(ip, gt, ct) ((ct*) ip)
| ^
/usr/include/glib-2.0/gobject/gtype.h:501:66: note: in expansion of macro '_G_TYPE_CIC'
501 | #define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type) (_G_TYPE_CIC ((instance), (g_type), c_type))
| ^~~~~~~~~~~
src/core/devices/nm-device-macvlan.h:13:6: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
13 | (G_TYPE_CHECK_INSTANCE_CAST((obj), NM_TYPE_DEVICE_MACVLAN, NMDeviceMacvlan))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
Avoid that by using _NM_G_TYPE_CHECK_INSTANCE_CAST().
This can only be done for our internal usages. The public headers
of libnm are not changed.
|
||
|---|---|---|
| .. | ||
| meson.build | ||
| nm-auth-subject.c | ||
| nm-auth-subject.h | ||
| nm-common-macros.h | ||
| nm-libnm-core-utils.c | ||
| nm-libnm-core-utils.h | ||
| README.md | ||
libnm-core-aux-intern
libnm-core-aux-intern is a static library that:
- uses parts of
libnm-core-impl, that are public API oflibnm(i.e.libnm-core-public). - that is statically linked into
libnm-core-impl(and thuslibnmand NetworkManager core. - that can also be statically linked into other users of
libnm.
Basically, it is a static library with utility functions that extends
libnm-core-impl (the part that is public API of libnm),
but it is also used by libnm-core-impl itself.
That means:
- you can use it everywhere where you either statically link
with
libnm-core-impl, or dynamically link withlibnm. - you can even use it inside of
libnm-core-implitself. This is the difference betweenlibnm-core-aux-internandlibnm-core-aux-extern.
Note that libnm-core-aux-intern only uses public API of libnm.
This directory should not be added to the include search path. Instead,
users should fully qualify the include like #include "libnm-core-aux-intern/nm-auth-subject.h".