diff options
author | Kostya Serebryany <kcc@google.com> | 2014-03-19 12:26:33 +0000 |
---|---|---|
committer | Kostya Serebryany <kcc@google.com> | 2014-03-19 12:26:33 +0000 |
commit | 8ee651d7de366459e94ccb58e51864e41523457d (patch) | |
tree | f2a0957455d0aeb8e09de5cbc6f60c246ef89664 /lib/sanitizer_common | |
parent | 82f9d9ca7a7c9b2521389a7c6bb9994275560d44 (diff) | |
download | compiler-rt-8ee651d7de366459e94ccb58e51864e41523457d.tar.gz |
[sanitizer] deadlock detector: a) initial support for suppressions, b) be more robust in case we failed to extract a stack trace for one of the locks
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@204225 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/sanitizer_common')
-rw-r--r-- | lib/sanitizer_common/sanitizer_suppressions.cc | 4 | ||||
-rw-r--r-- | lib/sanitizer_common/sanitizer_suppressions.h | 1 | ||||
-rw-r--r-- | lib/sanitizer_common/tests/sanitizer_suppressions_test.cc | 4 |
3 files changed, 6 insertions, 3 deletions
diff --git a/lib/sanitizer_common/sanitizer_suppressions.cc b/lib/sanitizer_common/sanitizer_suppressions.cc index 5f3d2cee8..87ccf7fca 100644 --- a/lib/sanitizer_common/sanitizer_suppressions.cc +++ b/lib/sanitizer_common/sanitizer_suppressions.cc @@ -20,8 +20,8 @@ namespace __sanitizer { static const char *const kTypeStrings[SuppressionTypeCount] = { - "none", "race", "mutex", "thread", "signal", "leak", "called_from_lib" -}; + "none", "race", "mutex", "thread", + "signal", "leak", "called_from_lib", "deadlock"}; bool TemplateMatch(char *templ, const char *str) { if (str == 0 || str[0] == 0) diff --git a/lib/sanitizer_common/sanitizer_suppressions.h b/lib/sanitizer_common/sanitizer_suppressions.h index 92cb09365..772b9aab5 100644 --- a/lib/sanitizer_common/sanitizer_suppressions.h +++ b/lib/sanitizer_common/sanitizer_suppressions.h @@ -26,6 +26,7 @@ enum SuppressionType { SuppressionSignal, SuppressionLeak, SuppressionLib, + SuppressionDeadlock, SuppressionTypeCount }; diff --git a/lib/sanitizer_common/tests/sanitizer_suppressions_test.cc b/lib/sanitizer_common/tests/sanitizer_suppressions_test.cc index ea8741d4f..93fc8a35d 100644 --- a/lib/sanitizer_common/tests/sanitizer_suppressions_test.cc +++ b/lib/sanitizer_common/tests/sanitizer_suppressions_test.cc @@ -67,8 +67,10 @@ TEST(Suppressions, TypeStrings) { CHECK(!internal_strcmp(SuppressionTypeString(SuppressionLeak), "leak")); CHECK(!internal_strcmp(SuppressionTypeString(SuppressionLib), "called_from_lib")); + CHECK( + !internal_strcmp(SuppressionTypeString(SuppressionDeadlock), "deadlock")); // Ensure this test is up-to-date when suppression types are added. - CHECK_EQ(SuppressionTypeCount, 7); + CHECK_EQ(SuppressionTypeCount, 8); } class SuppressionContextTest : public ::testing::Test { |