File: 0007-vlc_common-remove-warnings-on-VLC_OBJECT.patch

package info (click to toggle)
vlc 3.0.21-10
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 212,728 kB
  • sloc: ansic: 441,379; cpp: 110,628; objc: 36,394; sh: 6,947; makefile: 6,592; javascript: 4,902; xml: 1,611; asm: 1,355; yacc: 640; python: 555; lex: 88; perl: 77; sed: 16
file content (33 lines) | stat: -rw-r--r-- 1,532 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
From: Alexandre Janniaux <ajanni@videolabs.io>
Date: Fri, 21 Jun 2024 16:11:28 +0200
Subject: vlc_common: remove warnings on VLC_OBJECT

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) \
---
 include/vlc_common.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/vlc_common.h b/include/vlc_common.h
index 0898785..bc689c4 100644
--- a/include/vlc_common.h
+++ b/include/vlc_common.h
@@ -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)