about summary refs log tree commit diff
path: root/scripts
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2021-05-25 13:40:57 -0400
committerJune McEnroe <june@causal.agency>2021-05-25 13:40:57 -0400
commit26dc0b11e36846f5746ea16897cceabf84495340 (patch)
tree05093320175909e375de54831c82f0c7532f493b /scripts
parentMerge LibreSSL 3.3.3 into master (diff)
parentimport: Add missing scripts/wrap-compiler-for-flag-check (diff)
downloadlibretls-26dc0b11e36846f5746ea16897cceabf84495340.tar.gz
libretls-26dc0b11e36846f5746ea16897cceabf84495340.zip
Merge branch 'upstream' with missing script
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/wrap-compiler-for-flag-check31
1 files changed, 31 insertions, 0 deletions
diff --git a/scripts/wrap-compiler-for-flag-check b/scripts/wrap-compiler-for-flag-check
new file mode 100755
index 0000000..b014f11
--- /dev/null
+++ b/scripts/wrap-compiler-for-flag-check
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+# This file is in the public domain.
+# https://github.com/kmcallister/autoharden/blob/c5c7842f39c2f8d19836bb5427d6479db4436d62/LICENSE
+#
+# From kmcallister: 
+# https://github.com/kmcallister/autoharden/blob/efaf5a16612589808c276a11536ea9a47071f74b/scripts/wrap-compiler-for-flag-check
+
+# Prior to clang v5.1, there was no way to make
+# clang's "argument unused" warning fatal.  This
+# wrapper script that greps for this warning message. Newer clang's have no issues.
+#
+# Ideally the search string would also include 'clang: ' but this output might
+# depend on clang's argv[0].
+#
+set -o errexit
+set -o nounset
+
+if out=`"$@" 2>&1`; then
+  echo "$out"
+  if echo "$out" | grep 'warning: argument unused' >/dev/null; then
+    echo "$0: found clang warning"
+    exit 1
+  else
+    exit 0
+  fi
+else
+  code=$?
+  echo "$out"
+  exit $code
+fi