From ca9211ecdede9bdedb812b2243a4abdb8dacd1b9 Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Wed, 7 Jan 2015 19:55:37 +0000 Subject: Import compiler-rt trunk r224034. https://llvm.org/svn/llvm-project/compiler-rt/trunk@224034 --- lib/sanitizer_common/sanitizer_suppressions.h | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'lib/sanitizer_common/sanitizer_suppressions.h') diff --git a/lib/sanitizer_common/sanitizer_suppressions.h b/lib/sanitizer_common/sanitizer_suppressions.h index 92cb09365b5e..453731456169 100644 --- a/lib/sanitizer_common/sanitizer_suppressions.h +++ b/lib/sanitizer_common/sanitizer_suppressions.h @@ -26,6 +26,11 @@ enum SuppressionType { SuppressionSignal, SuppressionLeak, SuppressionLib, + SuppressionDeadlock, + SuppressionVptrCheck, + SuppressionInterceptorName, + SuppressionInterceptorViaFunction, + SuppressionInterceptorViaLibrary, SuppressionTypeCount }; @@ -38,15 +43,24 @@ struct Suppression { class SuppressionContext { public: - SuppressionContext() : suppressions_(1), can_parse_(true) {} void Parse(const char *str); bool Match(const char* str, SuppressionType type, Suppression **s); uptr SuppressionCount() const; + bool HasSuppressionType(SuppressionType type) const; const Suppression *SuppressionAt(uptr i) const; void GetMatched(InternalMmapVector *matched); + // Create a SuppressionContext singleton if it hasn't been created earlier. + // Not thread safe. Must be called early during initialization (but after + // runtime flags are parsed). + static void InitIfNecessary(); + // Returns a SuppressionContext singleton. + static SuppressionContext *Get(); + private: + SuppressionContext(); InternalMmapVector suppressions_; + bool has_suppresson_type_[SuppressionTypeCount]; bool can_parse_; friend class SuppressionContextTest; -- cgit v1.2.3