meson: consolidate langs lists
[mesa.git] / src / util / u_vector.h
index f97a8b43caeade49fd3c3ca6838178862f634888..cd8a95dcbe3d9be32a1278309956e67958e1f3f1 100644 (file)
 
 #include <stdint.h>
 #include <stdlib.h>
-#include "util/u_math.h"
 #include "util/macros.h"
 
 /* TODO - move to u_math.h - name it better etc */
 static inline uint32_t
 u_align_u32(uint32_t v, uint32_t a)
 {
-   assert(a != 0 && a == (a & -a));
+   assert(a != 0 && a == (a & -((int32_t) a)));
    return (v + a - 1) & ~(a - 1);
 }
 
@@ -84,7 +83,7 @@ u_vector_finish(struct u_vector *queue)
 #define u_vector_foreach(elem, queue)                                  \
    STATIC_ASSERT(__builtin_types_compatible_p(__typeof__(queue), struct u_vector *)); \
    for (uint32_t __u_vector_offset = (queue)->tail;                                \
-        elem = (queue)->data + (__u_vector_offset & ((queue)->size - 1)), __u_vector_offset < (queue)->head; \
+        elem = (void *)((char *)(queue)->data + (__u_vector_offset & ((queue)->size - 1))), __u_vector_offset < (queue)->head; \
         __u_vector_offset += (queue)->element_size)