From 8dc3f07d34d74e37b06461bf311a57df037ca50c Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Mon, 19 Oct 2020 21:25:08 +0200 Subject: [PATCH] shared: fix NM_CAST_STRV_CC() for "char **const" pointers clang-3.4.2-9.el7.x86_64 otherwise fails: ../src/devices/wifi/nm-wifi-p2p-peer.c:410:44: error: controlling expression type 'const char **const' not compatible with any generic association type if (!nm_utils_strv_equal(priv->groups, peer_info->groups)) { ^~~~~~~~~~~~~~~~~ ../shared/nm-glib-aux/nm-shared-utils.h:1689:78: note: expanded from macro 'nm_utils_strv_equal' #define nm_utils_strv_equal(strv1, strv2) (nm_utils_strv_cmp_n((strv1), -1, (strv2), -1) == 0) ^ ../shared/nm-glib-aux/nm-shared-utils.h:1687:74: note: expanded from macro 'nm_utils_strv_cmp_n' _nm_utils_strv_cmp_n(NM_CAST_STRV_CC(strv1), (len1), NM_CAST_STRV_CC(strv2), (len2)) ^ ../shared/nm-glib-aux/nm-macros-internal.h:706:21: note: expanded from macro 'NM_CAST_STRV_CC' (_Generic ((value), \ ^ --- shared/nm-glib-aux/nm-macros-internal.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/shared/nm-glib-aux/nm-macros-internal.h b/shared/nm-glib-aux/nm-macros-internal.h index 7f9e8d178..f7e7a97ca 100644 --- a/shared/nm-glib-aux/nm-macros-internal.h +++ b/shared/nm-glib-aux/nm-macros-internal.h @@ -709,7 +709,13 @@ NM_G_ERROR_MSG(GError *error) char *const*: (const char *const*) (value), \ char * *: (const char *const*) (value), \ const void *: (const char *const*) (value), \ - void *: (const char *const*) (value))) + void *: (const char *const*) (value), \ + const char *const*const: (const char *const*) (value), \ + const char * *const: (const char *const*) (value), \ + char *const*const: (const char *const*) (value), \ + char * *const: (const char *const*) (value), \ + const void *const: (const char *const*) (value), \ + void *const: (const char *const*) (value))) #else #define NM_CAST_STRV_MC(value) ((const char **) (value)) #define NM_CAST_STRV_CC(value) ((const char *const *) (value))