[dpdk-stable] [PATCH] eal/windows: fix token pasting build warning

Dmitry Kozlyuk dmitry.kozliuk at gmail.com
Wed Sep 15 21:25:14 CEST 2021


2021-09-13 19:55 (UTC+0300), Tal Shnaiderman:
> When building DPDK on Windows in debug mode the following
> warning appear:
> 
> warning: token pasting of ',' and __VA_ARGS__ is a GNU extension
> [-Wgnu-zero-variadic-macro-arguments] #define open(path, flags, ...)
> _open(path, flags, ##__VA_ARGS__)
> 
> Modified the 'open' macro to avoid it.

Nit: "Modify" (present tense should be used here).

> 
> Fixes: 45d62067c237 ("eal: make OS shims internal")
> Cc: stable at dpdk.org
> 
> Signed-off-by: Tal Shnaiderman <talshn at nvidia.com>
> ---
>  lib/eal/windows/include/rte_os_shim.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/lib/eal/windows/include/rte_os_shim.h b/lib/eal/windows/include/rte_os_shim.h
> index 33619745ab..eda8113662 100644
> --- a/lib/eal/windows/include/rte_os_shim.h
> +++ b/lib/eal/windows/include/rte_os_shim.h
> @@ -25,7 +25,7 @@
>  #define strncasecmp(s1, s2, count) _strnicmp(s1, s2, count)
>  #endif
>  
> -#define open(path, flags, ...) _open(path, flags, ##__VA_ARGS__)
> +#define open(...) _open(__VA_ARGS__)
>  #define read(fd, buf, n) _read(fd, buf, n)
>  #define write(fd, buf, n) _write(fd, buf, n)
>  #define close(fd) _close(fd)

Note: Three-argument form of open() is seldom used in DPDK and only once
in OS-independent code. However, rte_os_shim.h can be included
in platform-specific file and it should not prevent using 3-argument open().
This patch is probably the most simple and robust thing we can do.

Acked-by: Dmitry Kozlyuk <dmitry.kozliuk at gmail.com>


More information about the stable mailing list