vlc_common: remove warnings on VLC_OBJECT
authorAlexandre Janniaux <ajanni@videolabs.io>
Fri, 21 Jun 2024 14:11:28 +0000 (16:11 +0200)
committerSebastian Ramacher <sramacher@debian.org>
Tue, 14 Jan 2025 22:09:47 +0000 (23:09 +0100)
Fix an infinite amount of warnings on Darwin:

    ../../include/vlc_variables.h:563:5: warning: due to lvalue conversion of the controlling expression, association of type 'const struct vlc_common_members' will never be selected because it is qualified [-Wunreachable-code-generic-assoc]
        var_Create( p_obj, psz_name, VLC_VAR_STRING | VLC_VAR_DOINHERIT
        ^
    ../../include/vlc_variables.h:122:39: note: expanded from macro 'var_Create'
    #define var_Create(a,b,c) var_Create( VLC_OBJECT(a), b, c )
                                          ^
    ../../include/vlc_common.h:481:15: note: expanded from macro 'VLC_OBJECT'
            const struct vlc_common_members: (const vlc_object_t *)(&(x)->obj) \

Gbp-Pq: Name 0007-vlc_common-remove-warnings-on-VLC_OBJECT.patch

include/vlc_common.h

index 0898785817639d2fee1c6f2185df7c09ef646783..bc689c4f619ea2e7d375104e93c7fbb6a6022047 100644 (file)
@@ -477,8 +477,8 @@ struct vlc_common_members
 #if !defined(__cplusplus)
 # define VLC_OBJECT(x) \
     _Generic((x)->obj, \
-        struct vlc_common_members: (vlc_object_t *)(&(x)->obj), \
-        const struct vlc_common_members: (const vlc_object_t *)(&(x)->obj) \
+        vlc_object_t: (vlc_object_t *)(&(x)->obj), \
+        struct vlc_common_members: (vlc_object_t *)(x) \
     )
 #else
 # define VLC_OBJECT( x ) ((vlc_object_t *)&(x)->obj)