Merge remote-tracking branch 'origin/swift-3.1-branch' into stable

* origin/swift-3.1-branch:
  [asan] Support handle_sigill on Darwin
  [asan] Fix handle_abort_on_error.cc test on Darwin
diff --git a/lib/sanitizer_common/sanitizer_mac.cc b/lib/sanitizer_common/sanitizer_mac.cc
index dd98f4b..1b51c3b 100644
--- a/lib/sanitizer_common/sanitizer_mac.cc
+++ b/lib/sanitizer_common/sanitizer_mac.cc
@@ -398,6 +398,10 @@
   if ((SANITIZER_WATCHOS || SANITIZER_TVOS) && !(SANITIZER_IOSSIM))
     // Handling fatal signals on watchOS and tvOS devices is disallowed.
     return false;
+  if (common_flags()->handle_abort && signum == SIGABRT)
+    return true;
+  if (common_flags()->handle_sigill && signum == SIGILL)
+    return true;
   return (signum == SIGSEGV || signum == SIGBUS) && common_flags()->handle_segv;
 }
 
diff --git a/test/asan/TestCases/ill.cc b/test/asan/TestCases/ill.cc
index 887f506..d7b5350 100644
--- a/test/asan/TestCases/ill.cc
+++ b/test/asan/TestCases/ill.cc
@@ -3,7 +3,6 @@
 // RUN: %clangxx_asan %s -o %t && %env_asan_opts=handle_sigill=0 not --crash %run %t 2>&1 | FileCheck %s --check-prefix=CHECK0
 // RUN: %clangxx_asan %s -o %t && %env_asan_opts=handle_sigill=1 not %run %t 2>&1 | FileCheck %s --check-prefix=CHECK1
 // REQUIRES: x86-target-arch
-// UNSUPPORTED: darwin
 
 #ifdef _WIN32
 #include <windows.h>