[Intel-gfx] [RFC PATCH] drm/i915: fix potential dangling else problems in for_each_ macros
Chris Wilson
chris at chris-wilson.co.uk
Tue Nov 24 14:26:01 PST 2015
On Tue, Nov 24, 2015 at 07:36:25PM +0200, Jani Nikula wrote:
> /* Iterate over initialised rings */
> #define for_each_ring(ring__, dev_priv__, i__) \
> for ((i__) = 0; (i__) < I915_NUM_RINGS; (i__)++) \
> - if (((ring__) = &(dev_priv__)->ring[(i__)]), intel_ring_initialized((ring__)))
> + for_each_if ((((ring__) = &(dev_priv__)->ring[(i__)]), intel_ring_initialized((ring__))))
Idly wondering if we would be happy with
for_each_ring(ring__, dev_priv__)
for ((ring__) = &(dev_priv__)->ring[0];
(ring__) <= &(dev_priv__)->ring[I915_NUM_RINGS];
(ring__)++)
for_each_if(intel_ring_initialized(ring__))
?
The downside is that we have used i__ in several places rather than
ring->id.
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
More information about the Intel-gfx
mailing list