On Tue, Mar 10, 2015 at 8:31 PM, Ian Romanick <i...@freedesktop.org> wrote: > Also... I'm not a fan of these ever-growing macros. They're a lot like > alligators. They're pretty cute when they're small, but when they grow > up they drown you in a river and eat you. I feel like the users of > this macro should just use foreach_list_safe, and use exec_node_data by > hand. That would simplify things a lot by hiding less from the > programmer.
I don't know, I think with the bugs shaken out, the prevent a lot of mistakes among other benefits. Think for instance of the number of times we've fixed node->next != NULL to be node->next->next != NULL before the macros existed. They also cut boilerplate from every linked list walk. These were some diff-stats from some of the commits that started using them: 184 insertions(+), 291 deletions (commit 4d78446d) 41 insertions(+), 85 deletions (commit e0cb82d0) Using macros also massively simplified the transition in the i965 backend from a single huge instruction list to a list of basic blocks, each with their own instruction lists -- see commit 49374fab. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev