Configure: unify clang's -Qunused-arguments option treatment.
authorAndy Polyakov <appro@openssl.org>
Mon, 18 Sep 2017 14:30:28 +0000 (16:30 +0200)
committerAndy Polyakov <appro@openssl.org>
Thu, 21 Sep 2017 20:33:46 +0000 (22:33 +0200)
Detect clang even if it's disguised, e.g. cross-compiler or invoked by
explicit path name, and add the option based on that.

Reviewed-by: Ben Kaduk <kaduk@mit.edu>
(Merged from https://github.com/openssl/openssl/pull/4383)

Configurations/10-main.conf
Configure

index ea1c9ab9d9e7ed6e95034f794d5de9e132855489..ca53937bdde88a1ae866bb79d716bf03bca25729 100644 (file)
@@ -763,7 +763,7 @@ sub vms_info {
         inherit_from     => [ "linux-x86" ],
         cc               => "clang",
         cxx              => "clang++",
-        cflags           => add("-Wextra -Qunused-arguments"),
+        cflags           => add("-Wextra"),
     },
     "linux-x86_64" => {
         inherit_from     => [ "linux-generic64", asm("x86_64_asm") ],
@@ -777,7 +777,7 @@ sub vms_info {
         inherit_from     => [ "linux-x86_64" ],
         cc               => "clang",
         cxx              => "clang++",
-        cflags           => add("-Wextra -Qunused-arguments"),
+        cflags           => add("-Wextra"),
     },
     "linux-x32" => {
         inherit_from     => [ "linux-generic32", asm("x86_64_asm") ],
index 4d74b432eb16c9863ba550c50f54cad50cb0c582..326a3ff434c07e7538dbb4adb0029c05e388eab4 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -141,7 +141,6 @@ my $gcc_devteam_warn = "-DDEBUG_UNUSED"
 #       -Wunused-macros -- no, too tricky for BN and _XOPEN_SOURCE etc
 #       -Wextended-offsetof -- no, needed in CMS ASN1 code
 my $clang_devteam_warn = ""
-        . " -Qunused-arguments"
         . " -Wswitch-default"
         . " -Wno-parentheses-equality"
         . " -Wno-language-extension-token"
@@ -1321,6 +1320,10 @@ if (defined($config{api})) {
     push @{$config{defines}}, $apiflag;
 }
 
+if (defined($predefined{__clang__}) && !$disabled{asm}) {
+    $config{cflags} .= " -Qunused-arguments";
+}
+
 if ($strict_warnings)
        {
        my $wopt;