[vlc-commits] [Git][videolan/vlc][master] vlc_list: fix warnings
    Jean-Baptiste Kempf 
    gitlab at videolan.org
       
    Thu Jun 10 16:17:05 UTC 2021
    
    
  
Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC
Commits:
4f8d49e0 by Alexandre Janniaux at 2021-06-10T14:54:48+00:00
vlc_list: fix warnings
Previous patches[1] added a warning regression by fixing the
initializer of the max_align_t[] array used in vlc_list_entry_dummy,
because a max_align_t array cannot be initialized with integers,
typically where the max_align_t is implemented as an union of multiple
types.
[1]: c4f0f96452453c5744b93acea4c4f939161225c3
By providing an initializer for max_align_t, we can workaround this
limitation and initialize the array without those warnings:
../../lib/media.c:264:5: warning: suggest braces around initialization of subobject [-Wmissing-braces]
    vlc_list_foreach( node, &list, node )
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../include/vlc_list.h:263:23: note: expanded from macro 'vlc_list_foreach'
          && ((pos) = vlc_list_entry_p((vlc_list_it__##pos).current, \
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../include/vlc_list.h:243:44: note: expanded from macro 'vlc_list_entry_p'
    (0 ? (p) : (void *)(((char *)(node)) - vlc_list_offset_p(p, member)))
                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../include/vlc_list.h:240:12: note: expanded from macro 'vlc_list_offset_p'
    ((p) = vlc_list_entry_dummy(p), (char *)(&(p)->member) - (char *)(p))
           ^~~~~~~~~~~~~~~~~~~~~~~
../../include/vlc_list.h:237:73: note: expanded from macro 'vlc_list_entry_dummy'
    (0 ? (p) : ((void *)(&(max_align_t[vlc_list_entry_aligned_size(p)]){0})))
                                                                        ^
- - - - -
1 changed file:
- include/vlc_list.h
Changes:
=====================================
include/vlc_list.h
=====================================
@@ -234,7 +234,9 @@ static inline void vlc_list_it_next(struct vlc_list_it *restrict it)
     ((sizeof (*(p)) + sizeof (max_align_t) - 1) / sizeof (max_align_t))
 
 #define vlc_list_entry_dummy(p) \
-    (0 ? (p) : ((void *)(&(max_align_t[vlc_list_entry_aligned_size(p)]){0})))
+    (0 ? (p) : ((void *)( \
+        &(max_align_t[vlc_list_entry_aligned_size(p)]){ (max_align_t){0} } \
+    )))
 
 #define vlc_list_offset_p(p, member) \
     ((p) = vlc_list_entry_dummy(p), (char *)(&(p)->member) - (char *)(p))
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/4f8d49e02eb85204269d0389d122aa2ac183150b
-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/4f8d49e02eb85204269d0389d122aa2ac183150b
You're receiving this email because of your account on code.videolan.org.
    
    
More information about the vlc-commits
mailing list