From b4a7b4ec4acc712b1f22a83966ac986b510f25d8 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 Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/10287) --- 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 e00e1c0659..aa2054f238 100644 --- a/Configurations/10-main.conf +++ b/Configurations/10-main.conf @@ -1352,7 +1352,6 @@ my %targets = ( }, "VC-WIN32" => { inherit_from => [ "VC-noCE-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 17d5fb5502..19b05b12ad 100755 --- a/Configure +++ b/Configure @@ -164,6 +164,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"; @@ -1519,11 +1523,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 ab4444d640..cca4a9a21c 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -15,7 +15,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"