On Thu, Feb 08, 2018 at 04:39:39PM +0000, Chris Wilson wrote:
> clang is confused by our if-else-chain that abruptly exits before a
> final else:
> 
> drivers/gpu/drm/i915/intel_crt.c:821:11: warning: variable 'status' is used 
> uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
>         else if (ret < 0)
>                  ^~~~~~~
> drivers/gpu/drm/i915/intel_crt.c:826:9: note: uninitialized use occurs here
>         return status;
>                ^~~~~~
> drivers/gpu/drm/i915/intel_crt.c:821:7: note: remove the 'if' if its 
> condition is always true
>         else if (ret < 0)
>              ^~~~~~~~~~~~
> drivers/gpu/drm/i915/intel_crt.c:761:12: note: initialize the variable 
> 'status' to silence this warning
>         int status, ret;
> 
> In this case, we can reduce the final else-if clause to an unconditional
> else.

Makes me wonder a bit if clang has any sort of range analysis pass.

Reviewed-by: Ville Syrjälä <ville.syrj...@linux.intel.com>

> 
> Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk>
> Cc: Ville Syrjälä <ville.syrj...@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/intel_crt.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_crt.c 
> b/drivers/gpu/drm/i915/intel_crt.c
> index 1cd4a7c22bd5..d1493ced16f8 100644
> --- a/drivers/gpu/drm/i915/intel_crt.c
> +++ b/drivers/gpu/drm/i915/intel_crt.c
> @@ -807,10 +807,11 @@ intel_crt_detect(struct drm_connector *connector,
>               else
>                       status = connector_status_unknown;
>               intel_release_load_detect_pipe(connector, &tmp, ctx);
> -     } else if (ret == 0)
> +     } else if (ret == 0) {
>               status = connector_status_unknown;
> -     else if (ret < 0)
> +     } else {
>               status = ret;
> +     }
>  
>  out:
>       intel_display_power_put(dev_priv, intel_encoder->power_domain);
> -- 
> 2.16.1

-- 
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to