From 53a5e9b561d0cc1c1c9a7ab9b0dbc91dd5e3623a Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Tue, 29 Oct 2019 13:37:54 +0100 Subject: [PATCH] Configure: Make --strict-warnings meaningful with MSVC cl We also add this to our x86_64 builds on appveyor (cherry picked from commit b4a7b4ec4acc712b1f22a83966ac986b510f25d8) Reviewed-by: Tim Hudson (Merged from https://github.com/openssl/openssl/pull/10365) --- Configurations/10-main.conf | 1 - Configure | 23 ++++++++++++++++++----- appveyor.yml | 2 +- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf index 97be7b95a9..fc04f8e661 100644 --- a/Configurations/10-main.conf +++ b/Configurations/10-main.conf @@ -1313,7 +1313,6 @@ my %targets = ( "VC-WIN32" => { inherit_from => [ "VC-noCE-common", asm("x86_asm"), sub { $disabled{shared} ? () : "uplink_common" } ], - CFLAGS => add("/WX"), AS => sub { vc_win32_info()->{AS} }, ASFLAGS => sub { vc_win32_info()->{ASFLAGS} }, asoutflag => sub { vc_win32_info()->{asoutflag} }, diff --git a/Configure b/Configure index 59313117f0..a6aae00fd4 100755 --- a/Configure +++ b/Configure @@ -160,6 +160,10 @@ my @clang_devteam_warn = qw( -Wmissing-variable-declarations ); +my @cl_devteam_warn = qw( + /WX +); + # This adds backtrace information to the memory leak info. Is only used # when crypto-mdebug-backtrace is enabled. my $memleak_devteam_backtrace = "-rdynamic"; @@ -1523,11 +1527,20 @@ if ($strict_warnings) my $wopt; my $gccver = $predefined_C{__GNUC__} // -1; - warn "WARNING --strict-warnings requires gcc[>=4] or gcc-alike" - unless $gccver >= 4; - push @strict_warnings_collection, @gcc_devteam_warn; - push @strict_warnings_collection, @clang_devteam_warn - if (defined($predefined_C{__clang__})); + if ($gccver >= 4) + { + push @strict_warnings_collection, @gcc_devteam_warn; + push @strict_warnings_collection, @clang_devteam_warn + if (defined($predefined_C{__clang__})); + } + elsif ($config{target} =~ /^VC-/) + { + push @strict_warnings_collection, @cl_devteam_warn; + } + else + { + warn "WARNING --strict-warnings requires gcc[>=4] or gcc-alike, or MSVC" + } } if (grep { $_ eq '-static' } @{$config{LDFLAGS}}) { diff --git a/appveyor.yml b/appveyor.yml index f17fea5ce2..84099e1f13 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -16,7 +16,7 @@ before_build: - ps: >- If ($env:Platform -Match "x86") { $env:VCVARS_PLATFORM="x86" - $env:TARGET="VC-WIN32 no-asm" + $env:TARGET="VC-WIN32 no-asm --strict-warnings" } Else { $env:VCVARS_PLATFORM="amd64" $env:TARGET="VC-WIN64A-masm" -- 2.25.1