[dpdk-dev] [PATCH] windows: build warnings with clang

Dmitry Kozlyuk dmitry.kozliuk at gmail.com
Sun Nov 29 16:38:52 CET 2020


On Fri, 27 Nov 2020 11:36:23 +0000, Nick Connolly wrote:
> Compiling with Clang (11.0, --buildtype=debug) for Windows
> produces deprecated warnings related to secure crt functions.

Please explain what these warnings mean and why disabling them is OK.
FWIW, I examined present warnings and found no useful ones. Also,
--buildtype=debug is not necessary to trigger these warnings.

Proposed wording (feel free to adjust):

	Microsoft CRT defines Windows-specific secure alternatives to
	standard library functions and triggers warnings when "insecure"
	functions are used [1]. However, calling code already has all
	necessary checks around those functions, so these warnings are not
	useful for DPDK. MinGW provides its own CRT without this issue.

[1]:
https://docs.microsoft.com/en-us/cpp/c-runtime-library/security-features-in-the-crt?view=msvc-160

> Disable this by defining -D_CRT_SECURE_NO_WARNINGS.
> 
> It is unclear exactly which commit this fixes.  It is probably a
> consequence of building more libraries for Windows.

Tip: Unless you want to make this paragraph part of the commit, you can write
such notices below "---" line, like version info.

> 
> Signed-off-by: Nick Connolly <nick.connolly at mayadata.io>
> ---
>  config/meson.build | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/config/meson.build b/config/meson.build
> index c02802c18..a3154e29c 100644
> --- a/config/meson.build
> +++ b/config/meson.build
> @@ -279,6 +279,11 @@ if is_windows
>  		add_project_arguments('-D__USE_MINGW_ANSI_STDIO', language: 'c')
>  	endif
>  
> +	# Disable secure CRT deprecated warnings for clang
> +	if cc.get_id() == 'clang'
> +		add_project_arguments('-D_CRT_SECURE_NO_WARNINGS', language: 'c')
> +	endif
> +
>  	add_project_link_arguments('-lws2_32', language: 'c')
>  
>  	# Contrary to docs, VirtualAlloc2() is exported by mincore.lib



More information about the dev mailing list