[all-commits] [llvm/llvm-project] 06b8fb: sanitizer_common: disable thread safety annotation...

Dimitry Andric via All-commits all-commits at lists.llvm.org
Mon Aug 9 23:31:22 PDT 2021


  Branch: refs/heads/release/13.x
  Home:   https://github.com/llvm/llvm-project
  Commit: 06b8fb7974310f88e0fdf52b4a1db0c062075a0d
      https://github.com/llvm/llvm-project/commit/06b8fb7974310f88e0fdf52b4a1db0c062075a0d
  Author: Dimitry Andric <dimitry at andric.com>
  Date:   2021-08-09 (Mon, 09 Aug 2021)

  Changed paths:
    M compiler-rt/CMakeLists.txt

  Log Message:
  -----------
  sanitizer_common: disable thread safety annotations for googletest

Recently in 0da172b1766e thread safety warnings-as-errors were enabled.
However, googletest is currently not compatible with thread safety
annotations. On FreeBSD, which has the pthread functions marked with
such annotations, this results in errors when building the compiler-rt
tests:

    In file included from compiler-rt/lib/interception/tests/interception_test_main.cpp:15:
    In file included from llvm/utils/unittest/googletest/include/gtest/gtest.h:62:
    In file included from llvm/utils/unittest/googletest/include/gtest/internal/gtest-internal.h:40:
    llvm/utils/unittest/googletest/include/gtest/internal/gtest-port.h:1636:3: error: mutex 'mutex_' is still held at the end of function [-Werror,-Wthread-safety-analysis]
      }
      ^
    llvm/utils/unittest/googletest/include/gtest/internal/gtest-port.h:1633:32: note: mutex acquired here
        GTEST_CHECK_POSIX_SUCCESS_(pthread_mutex_lock(&mutex_));
                                   ^
    llvm/utils/unittest/googletest/include/gtest/internal/gtest-port.h:1645:32: error: releasing mutex 'mutex_' that was not held [-Werror,-Wthread-safety-analysis]
        GTEST_CHECK_POSIX_SUCCESS_(pthread_mutex_unlock(&mutex_));
                                   ^
    2 errors generated.

At some point googletest will hopefully be made compatible with thread
safety annotations, but for now add corresponding `-Wno-thread-*` flags
to `COMPILER_RT_GTEST_CFLAGS` to silence these warnings-as-errors.

Reviewed By: dvyukov

Differential Revision: https://reviews.llvm.org/D107491

(cherry picked from commit b260f3fdda63bbddb7834c42cfeeb2b0a8b86a23)




More information about the All-commits mailing list