[dpdk-dev] [PATCH] net/virtio-user: fix implicit int to enum conversion

Stephen Hemminger stephen at networkplumber.org
Thu Jun 23 22:51:14 CEST 2016


On Thu, 23 Jun 2016 07:40:20 +0000
Jianfeng Tan <jianfeng.tan at intel.com> wrote:

> Implicit int to enum conversion is not allowed when icc is used as
> the compiler. It raises the compiling error like,
>     /.../dpdk/drivers/net/virtio/virtio_user/vhost_user.c(257):
>         error #188: enumerated type mixed with another type
>   	msg.request = req;
>   	            ^
> 
> The fix is simple, aka make such conversion explicit.
> 
> Fixes: 6a84c37e3975 ("net/virtio-user: add vhost-user adapter layer")
> 
> Signed-off-by: Jianfeng Tan <jianfeng.tan at intel.com>
> ---
>  drivers/net/virtio/virtio_user/vhost_user.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/virtio/virtio_user/vhost_user.c b/drivers/net/virtio/virtio_user/vhost_user.c
> index 95e80f8..e2772d5 100644
> --- a/drivers/net/virtio/virtio_user/vhost_user.c
> +++ b/drivers/net/virtio/virtio_user/vhost_user.c
> @@ -254,7 +254,7 @@ vhost_user_sock(int vhostfd, uint64_t req, void *arg)
>  
>  	PMD_DRV_LOG(INFO, "%s", vhost_msg_strings[req]);
>  
> -	msg.request = req;
> +	msg.request = (enum vhost_user_request)req;
>  	msg.flags = VHOST_USER_VERSION;
>  	msg.size = 0;
>  

Why not just just change API, to use enum? This would move type checking
out to the user.


More information about the dev mailing list