]> git.sesse.net Git - vlc/blobdiff - include/vlc_common.h
direct3d11: support more pixel formats
[vlc] / include / vlc_common.h
index b82dedaae2d5e9fbc29a83b5c886be7b7f6cabc1..98d91fcccc107438356a7b77c443b6257aa06d9c 100644 (file)
 
 /* Branch prediction */
 #ifdef __GNUC__
-#   define likely(p)   __builtin_expect(!!(p), 1)
-#   define unlikely(p) __builtin_expect(!!(p), 0)
+# define likely(p)     __builtin_expect(!!(p), 1)
+# define unlikely(p)   __builtin_expect(!!(p), 0)
+# define unreachable() __builtin_unreachable()
 #else
-#   define likely(p)   (!!(p))
-#   define unlikely(p) (!!(p))
+# define likely(p)     (!!(p))
+# define unlikely(p)   (!!(p))
+# define unreachable() ((void)0)
 #endif
 
+#define vlc_assert_unreachable() (assert(!"unreachable"), unreachable())
+
 /* Linkage */
 #ifdef __cplusplus
 # define VLC_EXTERN extern "C"
@@ -336,7 +340,6 @@ typedef union
     float           f_float;
     char *          psz_string;
     void *          p_address;
-    vlc_object_t *  p_object;
     vlc_list_t *    p_list;
     mtime_t         i_time;
     struct { int32_t x; int32_t y; } coords;