<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Nov 7, 2014 at 8:57 PM, Connor Abbott <span dir="ltr"><<a href="mailto:cwabbott0@gmail.com" target="_blank">cwabbott0@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">FWIW, Ian commented on my patch to add foreach_list_typed_reverse that<br>
we shouldn't merge it until it had users so people wouldn't try to<br>
remove it -- it seems like this has the same issue. So either merge<br>
both of them at the same time, or neither until NIR gets merged...<br></blockquote><div><br></div><div>Fair enough.  This at least gets it on the list for review.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Connor<br>
<div><div class="h5"><br>
<br>
On Fri, Nov 7, 2014 at 9:32 PM, Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>> wrote:<br>
> ---<br>
>  src/glsl/list.h | 9 +++++++++<br>
>  1 file changed, 9 insertions(+)<br>
><br>
> diff --git a/src/glsl/list.h b/src/glsl/list.h<br>
> index 1d18ec9..1fb9178 100644<br>
> --- a/src/glsl/list.h<br>
> +++ b/src/glsl/list.h<br>
> @@ -673,4 +673,13 @@ inline void exec_node::insert_before(exec_list *before)<br>
>          __node = __next, __next =                                          \<br>
>             exec_node_data(__type, (__next)->__field.next, __field))<br>
><br>
> +#define foreach_list_typed_safe_reverse(__type, __node, __field, __list)   \<br>
> +   for (__type * __node =                                                  \<br>
> +           exec_node_data(__type, (__list)->tail_pred, __field),           \<br>
> +               * __prev =                                                  \<br>
> +           exec_node_data(__type, (__node)->__field.prev, __field);        \<br>
> +        __prev != NULL;                                                    \<br>
> +        __node = __prev, __prev =                                          \<br>
> +           exec_node_data(__type, (__prev)->__field.prev, __field))<br>
> +<br>
>  #endif /* LIST_CONTAINER_H */<br>
> --<br>
> 2.1.0<br>
><br>
</div></div>> _______________________________________________<br>
> mesa-dev mailing list<br>
> <a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
> <a href="http://lists.freedesktop.org/mailman/listinfo/mesa-dev" target="_blank">http://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</blockquote></div><br></div></div>