diff mbox series

windows: build warnings with clang

Message ID 20201127113623.26707-1-nick.connolly@mayadata.io (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers show
Series windows: build warnings with clang | expand

Checks

Context Check Description
ci/travis-robot success Travis build: passed
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-testing success Testing PASS
ci/Intel-compilation success Compilation OK
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/checkpatch success coding style OK

Commit Message

Nick Connolly Nov. 27, 2020, 11:36 a.m. UTC
Compiling with Clang (11.0, --buildtype=debug) for Windows
produces deprecated warnings related to secure crt functions.

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.

Signed-off-by: Nick Connolly <nick.connolly@mayadata.io>
---
 config/meson.build | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Dmitry Kozlyuk Nov. 29, 2020, 3:38 p.m. UTC | #1
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@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
diff mbox series

Patch

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