EricWF created this revision. Herald added a subscriber: dberris. compiler-rt recently added the `__asan_handle_no_return()` function that libc++abi needs to use, however older versions of compiler-rt don't provide this interface and that breaks the libc++abi build.
This patch attempts to fix the issues by using a macro to detect if `asan_interface.h` is new enough to provide the function. See https://reviews.llvm.org/D37871 https://reviews.llvm.org/D37872 Files: src/cxa_exception.cpp Index: src/cxa_exception.cpp =================================================================== --- src/cxa_exception.cpp +++ src/cxa_exception.cpp @@ -222,7 +222,8 @@ exception_header->unwindHeader.exception_cleanup = exception_cleanup_func; -#if __has_feature(address_sanitizer) +#if __has_feature(address_sanitizer) && \ + defined(SANITIZER_ASAN_INTERFACE_HAS_HANDLE_NO_RETURN) // Inform the ASan runtime that now might be a good time to clean stuff up. __asan_handle_no_return(); #endif
Index: src/cxa_exception.cpp =================================================================== --- src/cxa_exception.cpp +++ src/cxa_exception.cpp @@ -222,7 +222,8 @@ exception_header->unwindHeader.exception_cleanup = exception_cleanup_func; -#if __has_feature(address_sanitizer) +#if __has_feature(address_sanitizer) && \ + defined(SANITIZER_ASAN_INTERFACE_HAS_HANDLE_NO_RETURN) // Inform the ASan runtime that now might be a good time to clean stuff up. __asan_handle_no_return(); #endif
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits