On Tue, May 5, 2015 at 11:21 AM, Neil Roberts <n...@linux.intel.com> wrote:
> Jason Ekstrand <ja...@jlekstrand.net> writes:
>
>> +static inline bool list_empty(struct list_head *list)
>> +{
>> +   return list->next == list;
>> +}
>
> It would be good if list.h also included stdbool.h in order to get the
> declaration of bool. However, will that cause problems on MSVC? Is the
> Gallium code compiled on MSVC in general?

Rob Clark pointed that out.  I've fixed it locally.

>> +static inline unsigned list_length(struct list_head *list)
>> +{
>> +   unsigned length = 0;
>> +   for (struct list_head *node = list->next; node != list; node = 
>> node->next)
>> +      length++;
>> +   return length;
>> +}
>
> Any reason not to use one of the list iterator macros here? Is it safe
> to use a C99-ism outside of a macro in this header? Maybe MSVC
> supports this particular C99-ism anyway.

Because the list iterators work on a subtype and making them work on
the  node itself is kind of painful.  Why C99? No good reason, I could
can that easily enough.
--Jason

> For what it's worth, I'm strongly in favour of using these kernel-style
> lists instead of exec_list. The kernel ones seem much less confusing.
>
> Regards,
> - Neil
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to