Revert "[TSan] Don't guard #include <xpc/xpc.h>"
authorJulian Lettner <jlettner@apple.com>
Fri, 16 Aug 2019 22:58:13 +0000 (22:58 +0000)
committerJulian Lettner <jlettner@apple.com>
Fri, 16 Aug 2019 22:58:13 +0000 (22:58 +0000)
This reverts commit 8191585b36eb4963002cce43fb2e79e7fb05c3d6.

llvm-svn: 369165

compiler-rt/lib/tsan/rtl/tsan_interceptors_mac.cpp

index 7b91736..db73927 100644 (file)
 #include <libkern/OSAtomic.h>
 #include <objc/objc-sync.h>
 #include <sys/ucontext.h>
+
+#if defined(__has_include) && __has_include(<xpc/xpc.h>)
 #include <xpc/xpc.h>
+#endif  // #if defined(__has_include) && __has_include(<xpc/xpc.h>)
 
 typedef long long_t;  // NOLINT
 
@@ -296,6 +299,8 @@ TSAN_INTERCEPTOR(void, os_unfair_lock_unlock, void *lock) {
   REAL(os_unfair_lock_unlock)(lock);
 }
 
+#if defined(__has_include) && __has_include(<xpc/xpc.h>)
+
 TSAN_INTERCEPTOR(void, xpc_connection_set_event_handler,
                  xpc_connection_t connection, xpc_handler_t handler) {
   SCOPED_TSAN_INTERCEPTOR(xpc_connection_set_event_handler, connection,
@@ -348,6 +353,8 @@ TSAN_INTERCEPTOR(void, xpc_connection_cancel, xpc_connection_t connection) {
   REAL(xpc_connection_cancel)(connection);
 }
 
+#endif  // #if defined(__has_include) && __has_include(<xpc/xpc.h>)
+
 // Determines whether the Obj-C object pointer is a tagged pointer. Tagged
 // pointers encode the object data directly in their pointer bits and do not
 // have an associated memory allocation. The Obj-C runtime uses tagged pointers