From 0b28ea9c471308faf04b4b6695c9f016aabea49a Mon Sep 17 00:00:00 2001 From: Alexander Potapenko Date: Fri, 14 Feb 2014 08:59:42 +0000 Subject: [PATCH] [libsanitizer] Create SanitizerCommonDecorator which provides the Warning() and EndWarning() methods (needed for SEGV handling in sanitizer_common) llvm-svn: 201392 --- compiler-rt/lib/asan/asan_report.cc | 6 ++---- .../lib/sanitizer_common/sanitizer_report_decorator.h | 9 +++++++++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/compiler-rt/lib/asan/asan_report.cc b/compiler-rt/lib/asan/asan_report.cc index bd900e8c574a..787dc5c2784a 100644 --- a/compiler-rt/lib/asan/asan_report.cc +++ b/compiler-rt/lib/asan/asan_report.cc @@ -45,11 +45,9 @@ void AppendToErrorMessageBuffer(const char *buffer) { } // ---------------------- Decorator ------------------------------ {{{1 -class Decorator: private __sanitizer::AnsiColorDecorator { +class Decorator: public __sanitizer::SanitizerCommonDecorator { public: - Decorator() : __sanitizer::AnsiColorDecorator(PrintsToTtyCached()) { } - const char *Warning() { return Red(); } - const char *EndWarning() { return Default(); } + Decorator() : SanitizerCommonDecorator() { } const char *Access() { return Blue(); } const char *EndAccess() { return Default(); } const char *Location() { return Green(); } diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_report_decorator.h b/compiler-rt/lib/sanitizer_common/sanitizer_report_decorator.h index eef2b15ccd34..2b6365fd19ed 100644 --- a/compiler-rt/lib/sanitizer_common/sanitizer_report_decorator.h +++ b/compiler-rt/lib/sanitizer_common/sanitizer_report_decorator.h @@ -36,6 +36,15 @@ class AnsiColorDecorator { private: bool ansi_; }; + +class SanitizerCommonDecorator: protected AnsiColorDecorator { + public: + SanitizerCommonDecorator() + : __sanitizer::AnsiColorDecorator(PrintsToTtyCached()) { } + const char *Warning() { return Red(); } + const char *EndWarning() { return Default(); } +}; + } // namespace __sanitizer #endif // SANITIZER_REPORT_DECORATOR_H