[compiler-rt] beb3fa2 - Revert "Reland "[compiler-rt][test] Heed COMPILER_RT_DEBUG when compiling unittests""
Haowei Wu via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 13 16:39:14 PST 2022
Author: Haowei Wu
Date: 2022-12-13T16:38:12-08:00
New Revision: beb3fa2d2efbdc1fbedee2d5c587eae1364652d3
URL: https://github.com/llvm/llvm-project/commit/beb3fa2d2efbdc1fbedee2d5c587eae1364652d3
DIFF: https://github.com/llvm/llvm-project/commit/beb3fa2d2efbdc1fbedee2d5c587eae1364652d3.diff
LOG: Revert "Reland "[compiler-rt][test] Heed COMPILER_RT_DEBUG when compiling unittests""
This reverts commit 255c3e3dcb06299aa2365f70817322a8a381c351, which
breaks Msan-x86_64-Test.
Added:
Modified:
compiler-rt/CMakeLists.txt
compiler-rt/lib/asan/tests/CMakeLists.txt
compiler-rt/lib/fuzzer/tests/CMakeLists.txt
compiler-rt/lib/gwp_asan/tests/CMakeLists.txt
compiler-rt/lib/interception/tests/CMakeLists.txt
compiler-rt/lib/msan/tests/CMakeLists.txt
compiler-rt/lib/sanitizer_common/sanitizer_type_traits.h
compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
compiler-rt/lib/sanitizer_common/tests/sanitizer_type_traits_test.cpp
compiler-rt/lib/tsan/tests/unit/tsan_trace_test.cpp
compiler-rt/test/tsan/Linux/check_memcpy.c
Removed:
################################################################################
diff --git a/compiler-rt/CMakeLists.txt b/compiler-rt/CMakeLists.txt
index b95cc4bf53d6..77ba6d07b4f8 100644
--- a/compiler-rt/CMakeLists.txt
+++ b/compiler-rt/CMakeLists.txt
@@ -436,12 +436,9 @@ if (NOT MSVC)
# Build with optimization, unless we're in debug mode.
if(COMPILER_RT_DEBUG)
- list(APPEND SANITIZER_COMMON_CFLAGS -O0)
- string(APPEND COMPILER_RT_TEST_COMPILER_CFLAGS " -O0")
+ list(APPEND SANITIZER_COMMON_CFLAGS -O1)
else()
list(APPEND SANITIZER_COMMON_CFLAGS -O3)
- # FIXME: Omit for now, causes testsuite failures.
- #string(APPEND COMPILER_RT_TEST_COMPILER_CFLAGS " -O3")
endif()
endif()
@@ -476,7 +473,6 @@ if(MSVC)
string(REGEX REPLACE "(^| )/Z[i7I]($| )" " /Z7 "
"${var_to_update}" "${${var_to_update}}")
endforeach()
- list(APPEND COMPILER_RT_UNITTEST_CFLAGS -gcodeview)
elseif(APPLE)
# On Apple platforms use full debug info (i.e. not `-gline-tables-only`)
# for all build types so that the runtime can be debugged.
@@ -486,13 +482,8 @@ elseif(APPLE)
list(APPEND SANITIZER_COMMON_CFLAGS -g)
elseif(COMPILER_RT_HAS_GLINE_TABLES_ONLY_FLAG AND NOT COMPILER_RT_DEBUG)
list(APPEND SANITIZER_COMMON_CFLAGS -gline-tables-only)
- # -gline-tables-only must be enough for these tests, so use it if possible.
- string(APPEND COMPILER_RT_TEST_COMPILER_CFLAGS " -gline-tables-only")
- list(APPEND COMPILER_RT_UNITTEST_CFLAGS -gline-tables-only)
elseif(COMPILER_RT_HAS_G_FLAG)
list(APPEND SANITIZER_COMMON_CFLAGS -g)
- string(APPEND COMPILER_RT_TEST_COMPILER_CFLAGS " -g")
- list(APPEND COMPILER_RT_UNITTEST_CFLAGS -g)
endif()
if(LLVM_ENABLE_MODULES)
diff --git a/compiler-rt/lib/asan/tests/CMakeLists.txt b/compiler-rt/lib/asan/tests/CMakeLists.txt
index 22e99dfad622..a0c6d2910d6f 100644
--- a/compiler-rt/lib/asan/tests/CMakeLists.txt
+++ b/compiler-rt/lib/asan/tests/CMakeLists.txt
@@ -29,6 +29,7 @@ set(ASAN_UNITTEST_COMMON_CFLAGS
-I${COMPILER_RT_SOURCE_DIR}/lib/asan
-I${COMPILER_RT_SOURCE_DIR}/lib/sanitizer_common/tests
-fno-rtti
+ -O2
-Wno-format
-Werror=sign-compare)
append_list_if(COMPILER_RT_HAS_WVARIADIC_MACROS_FLAG -Wno-variadic-macros ASAN_UNITTEST_COMMON_CFLAGS)
@@ -39,6 +40,16 @@ set(ASAN_UNITTEST_COMMON_LINK_FLAGS
${COMPILER_RT_UNITTEST_LINK_FLAGS}
${COMPILER_RT_UNWINDER_LINK_LIBS}
${SANITIZER_TEST_CXX_LIBRARIES})
+
+# -gline-tables-only must be enough for ASan, so use it if possible.
+if(COMPILER_RT_TEST_COMPILER_ID MATCHES "Clang")
+ list(APPEND ASAN_UNITTEST_COMMON_CFLAGS -gline-tables-only)
+else()
+ list(APPEND ASAN_UNITTEST_COMMON_CFLAGS -g)
+endif()
+if(MSVC)
+ list(APPEND ASAN_UNITTEST_COMMON_CFLAGS -gcodeview)
+endif()
list(APPEND ASAN_UNITTEST_COMMON_LINK_FLAGS -g)
# Use -D instead of definitions to please custom compile command.
diff --git a/compiler-rt/lib/fuzzer/tests/CMakeLists.txt b/compiler-rt/lib/fuzzer/tests/CMakeLists.txt
index 3c70730654c3..10fcfbaa083e 100644
--- a/compiler-rt/lib/fuzzer/tests/CMakeLists.txt
+++ b/compiler-rt/lib/fuzzer/tests/CMakeLists.txt
@@ -4,7 +4,8 @@ set(LIBFUZZER_UNITTEST_CFLAGS
${COMPILER_RT_UNITTEST_CFLAGS}
${COMPILER_RT_GTEST_CFLAGS}
-I${COMPILER_RT_SOURCE_DIR}/lib/fuzzer
- -fno-rtti)
+ -fno-rtti
+ -O2)
if (APPLE)
set(FUZZER_SUPPORTED_OS osx)
diff --git a/compiler-rt/lib/gwp_asan/tests/CMakeLists.txt b/compiler-rt/lib/gwp_asan/tests/CMakeLists.txt
index 7a5dcc40f834..ef7ea28b3983 100644
--- a/compiler-rt/lib/gwp_asan/tests/CMakeLists.txt
+++ b/compiler-rt/lib/gwp_asan/tests/CMakeLists.txt
@@ -6,6 +6,7 @@ set(GWP_ASAN_UNITTEST_CFLAGS
${SANITIZER_TEST_CXX_CFLAGS}
-std=c++17
-I${COMPILER_RT_SOURCE_DIR}/lib/
+ -O2
-g
-fno-omit-frame-pointer)
diff --git a/compiler-rt/lib/interception/tests/CMakeLists.txt b/compiler-rt/lib/interception/tests/CMakeLists.txt
index 5b41e4c6b567..37bf99edaf06 100644
--- a/compiler-rt/lib/interception/tests/CMakeLists.txt
+++ b/compiler-rt/lib/interception/tests/CMakeLists.txt
@@ -18,6 +18,7 @@ set(INTERCEPTION_TEST_CFLAGS_COMMON
-I${COMPILER_RT_SOURCE_DIR}/lib
-I${COMPILER_RT_SOURCE_DIR}/lib/interception
-fno-rtti
+ -O2
-Werror=sign-compare)
set(INTERCEPTION_TEST_LINK_FLAGS_COMMON
@@ -25,7 +26,14 @@ set(INTERCEPTION_TEST_LINK_FLAGS_COMMON
${COMPILER_RT_UNWINDER_LINK_LIBS}
${SANITIZER_TEST_CXX_LIBRARIES})
+# -gline-tables-only must be enough for these tests, so use it if possible.
+if(COMPILER_RT_TEST_COMPILER_ID MATCHES "Clang")
+ list(APPEND INTERCEPTION_TEST_CFLAGS_COMMON -gline-tables-only)
+else()
+ list(APPEND INTERCEPTION_TEST_CFLAGS_COMMON -g)
+endif()
if(MSVC)
+ list(APPEND INTERCEPTION_TEST_CFLAGS_COMMON -gcodeview)
list(APPEND INTERCEPTION_TEST_LINK_FLAGS_COMMON
-Wl,-largeaddressaware
-Wl,-nodefaultlib:libcmt,-defaultlib:msvcrt,-defaultlib:oldnames
diff --git a/compiler-rt/lib/msan/tests/CMakeLists.txt b/compiler-rt/lib/msan/tests/CMakeLists.txt
index ba78ec50cd26..6c0520d98426 100644
--- a/compiler-rt/lib/msan/tests/CMakeLists.txt
+++ b/compiler-rt/lib/msan/tests/CMakeLists.txt
@@ -33,6 +33,7 @@ set(MSAN_UNITTEST_COMMON_CFLAGS
-I${COMPILER_RT_SOURCE_DIR}/lib
-I${COMPILER_RT_SOURCE_DIR}/lib/msan
-g
+ -O2
-fno-omit-frame-pointer
-mno-omit-leaf-frame-pointer
-Wno-deprecated-declarations
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_type_traits.h b/compiler-rt/lib/sanitizer_common/sanitizer_type_traits.h
index eb843bd31529..06a44d1b5c7a 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_type_traits.h
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_type_traits.h
@@ -98,11 +98,6 @@ struct integral_constant {
constexpr value_type operator()() const { return value; }
};
-#if !__cpp_inline_variables
-template <typename T, T v>
-constexpr T integral_constant<T, v>::value;
-#endif
-
#ifndef __has_builtin
# define __has_builtin(x) 0
#endif
diff --git a/compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt b/compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
index f6b49e8fc760..41b89aa43134 100644
--- a/compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
+++ b/compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
@@ -67,6 +67,7 @@ set(SANITIZER_TEST_CFLAGS_COMMON
-I${COMPILER_RT_SOURCE_DIR}/lib
-I${COMPILER_RT_SOURCE_DIR}/lib/sanitizer_common
-fno-rtti
+ -O2
-Werror=sign-compare
-Wno-gnu-zero-variadic-macro-arguments
)
@@ -75,6 +76,16 @@ set(SANITIZER_TEST_LINK_FLAGS_COMMON
${COMPILER_RT_UNITTEST_LINK_FLAGS}
${COMPILER_RT_UNWINDER_LINK_LIBS}
${SANITIZER_TEST_CXX_LIBRARIES})
+
+# -gline-tables-only must be enough for these tests, so use it if possible.
+if(COMPILER_RT_TEST_COMPILER_ID MATCHES "Clang")
+ list(APPEND SANITIZER_TEST_CFLAGS_COMMON -gline-tables-only)
+else()
+ list(APPEND SANITIZER_TEST_CFLAGS_COMMON -g)
+endif()
+if(MSVC)
+ list(APPEND SANITIZER_TEST_CFLAGS_COMMON -gcodeview)
+endif()
list(APPEND SANITIZER_TEST_LINK_FLAGS_COMMON -g)
if(NOT MSVC)
diff --git a/compiler-rt/lib/sanitizer_common/tests/sanitizer_type_traits_test.cpp b/compiler-rt/lib/sanitizer_common/tests/sanitizer_type_traits_test.cpp
index e4c9e993fb6b..d6c3ad4b8661 100644
--- a/compiler-rt/lib/sanitizer_common/tests/sanitizer_type_traits_test.cpp
+++ b/compiler-rt/lib/sanitizer_common/tests/sanitizer_type_traits_test.cpp
@@ -80,4 +80,4 @@ TEST(SanitizerCommon, IsTriviallyCopyable) {
ASSERT_FALSE((is_trivially_copyable<std::vector<int>>::value));
}
-} // namespace __sanitizer
+} // namespace __sanitizer
\ No newline at end of file
diff --git a/compiler-rt/lib/tsan/tests/unit/tsan_trace_test.cpp b/compiler-rt/lib/tsan/tests/unit/tsan_trace_test.cpp
index 636a5a051cba..0d354db548c4 100644
--- a/compiler-rt/lib/tsan/tests/unit/tsan_trace_test.cpp
+++ b/compiler-rt/lib/tsan/tests/unit/tsan_trace_test.cpp
@@ -23,15 +23,8 @@
// There must be some
diff erence in thread initialization
// between normal execution and unit tests.
# define TRACE_TEST(SUITE, NAME) TEST(SUITE, DISABLED_##NAME)
-# define TRACE_TEST_OPTIMIZED(SUITE, NAME) TEST(SUITE, DISABLED_##NAME)
#else
# define TRACE_TEST(SUITE, NAME) TEST(SUITE, NAME)
-// Some tests deadlock in debug builds.
-# if !SANITIZER_DEBUG
-# define TRACE_TEST_OPTIMIZED(SUITE, NAME) TEST(SUITE, NAME)
-# else
-# define TRACE_TEST_OPTIMIZED(SUITE, NAME) TEST(SUITE, DISABLED_##NAME)
-# endif
#endif
namespace __tsan {
@@ -74,7 +67,7 @@ struct ThreadArray {
operator ThreadState *() { return threads[0]; }
};
-TRACE_TEST_OPTIMIZED(Trace, RestoreAccess) {
+TRACE_TEST(Trace, RestoreAccess) {
// A basic test with some function entry/exit events,
// some mutex lock/unlock events and some other distracting
// memory events.
@@ -119,7 +112,7 @@ TRACE_TEST_OPTIMIZED(Trace, RestoreAccess) {
CHECK_EQ(tag, kExternalTagNone);
}
-TRACE_TEST_OPTIMIZED(Trace, MemoryAccessSize) {
+TRACE_TEST(Trace, MemoryAccessSize) {
// Test tracing and matching of accesses of
diff erent sizes.
struct Params {
uptr access_size, offset, size;
@@ -174,7 +167,7 @@ TRACE_TEST_OPTIMIZED(Trace, MemoryAccessSize) {
}
}
-TRACE_TEST_OPTIMIZED(Trace, RestoreMutexLock) {
+TRACE_TEST(Trace, RestoreMutexLock) {
// Check of restoration of a mutex lock event.
ThreadArray<1> thr;
TraceFunc(thr, 0x1000);
@@ -204,7 +197,7 @@ TRACE_TEST_OPTIMIZED(Trace, RestoreMutexLock) {
CHECK_EQ(mset.Get(1).write, false);
}
-TRACE_TEST_OPTIMIZED(Trace, MultiPart) {
+TRACE_TEST(Trace, MultiPart) {
// Check replay of a trace with multiple parts.
ThreadArray<1> thr;
FuncEntry(thr, 0x1000);
diff --git a/compiler-rt/test/tsan/Linux/check_memcpy.c b/compiler-rt/test/tsan/Linux/check_memcpy.c
index 899062e2ac7b..26f99612e50f 100644
--- a/compiler-rt/test/tsan/Linux/check_memcpy.c
+++ b/compiler-rt/test/tsan/Linux/check_memcpy.c
@@ -7,8 +7,6 @@
// tsan.
// REQUIRES: shared_unwind
-// XFAIL: !compiler-rt-optimized
-
// RUN: %clang_tsan -O1 %s -o %t
// RUN: llvm-objdump -d -l %t | FileCheck %s
More information about the llvm-commits
mailing list