[Mesa-dev] [PATCH 02/16] glsl: Add a foreach_in_list_reverse_safe macro.

Matt Turner mattst88 at gmail.com
Mon Jan 19 15:31:01 PST 2015


---
 src/glsl/list.h | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/glsl/list.h b/src/glsl/list.h
index 330c17e..85368a4 100644
--- a/src/glsl/list.h
+++ b/src/glsl/list.h
@@ -636,6 +636,12 @@ inline void exec_node::insert_before(exec_list *before)
         __next != NULL;                              \
         __node = __next, __next = (__type *)__next->next)
 
+#define foreach_in_list_reverse_safe(__type, __node, __list) \
+   for (__type *__node = (__type *)(__list)->tail_pred,      \
+               *__prev = (__type *)__node->prev;             \
+        __prev != NULL;                                      \
+        __node = __prev, __prev = (__type *)__prev->prev)
+
 #define foreach_in_list_use_after(__type, __inst, __list) \
    __type *(__inst);                                      \
    for ((__inst) = (__type *)(__list)->head;              \
-- 
2.0.4



More information about the mesa-dev mailing list