<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi Kostya<div class=""><br class=""></div><div class="">The test cases you added broke the jenkins: <a href="http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA_check/533/consoleFull#19223059818254eaf0-7326-4999-85b0-388101f2d404" class="">http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA_check/533/consoleFull#19223059818254eaf0-7326-4999-85b0-388101f2d404</a></div><div class="">Can you take a look at it? If you can quickly fix it or revert it, it will be great.</div><div class=""><br class=""></div><div class="">Thanks</div><div class=""><br class=""></div><div class="">Steven</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Jan 5, 2015, at 5:31 PM, Kostya Serebryany <<a href="mailto:kcc@google.com" class="">kcc@google.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">Author: kcc<br class="">Date: Mon Jan  5 19:31:23 2015<br class="">New Revision: 225234<br class=""><br class="">URL: <a href="http://llvm.org/viewvc/llvm-project?rev=225234&view=rev" class="">http://llvm.org/viewvc/llvm-project?rev=225234&view=rev</a><br class="">Log:<br class="">[ubsan] partially enable -fsanitize-coverage=N with ubsan. It will work as usual in most cases but will not dump coverage on error with -fno-sanitize-recover (that'll be a separate fix)<br class=""><br class="">Added:<br class="">    compiler-rt/trunk/test/ubsan/TestCases/Misc/<a href="http://coverage-levels.cc" class="">coverage-levels.cc</a><br class="">Modified:<br class="">    compiler-rt/trunk/lib/ubsan/ubsan_init.cc<br class=""><br class="">Modified: compiler-rt/trunk/lib/ubsan/ubsan_init.cc<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/ubsan/ubsan_init.cc?rev=225234&r1=225233&r2=225234&view=diff" class="">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/ubsan/ubsan_init.cc?rev=225234&r1=225233&r2=225234&view=diff</a><br class="">==============================================================================<br class="">--- compiler-rt/trunk/lib/ubsan/ubsan_init.cc (original)<br class="">+++ compiler-rt/trunk/lib/ubsan/ubsan_init.cc Mon Jan  5 19:31:23 2015<br class="">@@ -43,6 +43,7 @@ void __ubsan::InitIfNecessary() {<br class="">   // Initialize UBSan-specific flags.<br class="">   InitializeFlags();<br class="">   SuppressionContext::InitIfNecessary();<br class="">+  InitializeCoverage(common_flags()->coverage, common_flags()->coverage_dir);<br class="">   ubsan_inited = true;<br class=""> }<br class=""><br class=""><br class="">Added: compiler-rt/trunk/test/ubsan/TestCases/Misc/<a href="http://coverage-levels.cc" class="">coverage-levels.cc</a><br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/ubsan/TestCases/Misc/coverage-levels.cc?rev=225234&view=auto" class="">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/ubsan/TestCases/Misc/coverage-levels.cc?rev=225234&view=auto</a><br class="">==============================================================================<br class="">--- compiler-rt/trunk/test/ubsan/TestCases/Misc/<a href="http://coverage-levels.cc" class="">coverage-levels.cc</a> (added)<br class="">+++ compiler-rt/trunk/test/ubsan/TestCases/Misc/<a href="http://coverage-levels.cc" class="">coverage-levels.cc</a> Mon Jan  5 19:31:23 2015<br class="">@@ -0,0 +1,36 @@<br class="">+// Test various levels of coverage<br class="">+//<br class="">+// RUN: mkdir -p %T/coverage-levels<br class="">+// RUN: OPT=coverage=1:verbosity=1:coverage_dir=%T/coverage-levels<br class="">+// RUN: %clangxx -fsanitize=shift                        -DGOOD_SHIFT=1 -O1 -fsanitize-coverage=1  %s -o %t<br class="">+// RUN: UBSAN_OPTIONS=$OPT ASAN_OPTIONS=$OPT %run %t 2>&1 | FileCheck %s --check-prefix=CHECK1 --check-prefix=CHECK_NOWARN<br class="">+// RUN: %clangxx -fsanitize=undefined                    -DGOOD_SHIFT=1 -O1 -fsanitize-coverage=1  %s -o %t<br class="">+// RUN: UBSAN_OPTIONS=$OPT ASAN_OPTIONS=$OPT %run %t 2>&1 | FileCheck %s --check-prefix=CHECK1 --check-prefix=CHECK_NOWARN<br class="">+<br class="">+// RUN: %clangxx -fsanitize=shift -O1 -fsanitize-coverage=1  %s -o %t<br class="">+// RUN: UBSAN_OPTIONS=$OPT ASAN_OPTIONS=$OPT %run %t 2>&1 | FileCheck %s --check-prefix=CHECK1 --check-prefix=CHECK_WARN<br class="">+// RUN: %clangxx -fsanitize=shift -O1 -fsanitize-coverage=2  %s -o %t<br class="">+// RUN: UBSAN_OPTIONS=$OPT ASAN_OPTIONS=$OPT %run %t 2>&1 | FileCheck %s --check-prefix=CHECK2 --check-prefix=CHECK_WARN<br class="">+// RUN: %clangxx -fsanitize=shift -O1 -fsanitize-coverage=3  %s -o %t<br class="">+// RUN: UBSAN_OPTIONS=$OPT ASAN_OPTIONS=$OPT %run %t 2>&1 | FileCheck %s --check-prefix=CHECK3 --check-prefix=CHECK_WARN<br class="">+<br class="">+volatile int sink;<br class="">+int main(int argc, char **argv) {<br class="">+  int shift = argc * 32;<br class="">+#if GOOD_SHIFT<br class="">+  shift = 3;<br class="">+#endif<br class="">+  if ((argc << shift) == 16)  // False.<br class="">+    return 1;<br class="">+  return 0;<br class="">+}<br class="">+<br class="">+// CHECK_WARN: shift exponent 32 is too large<br class="">+// CHECK_NOWARN-NOT: ERROR<br class="">+// FIXME: Currently, coverage instrumentation kicks in after ubsan, so we get<br class="">+// more than the minimal number of instrumented blocks.<br class="">+// FIXME: Currently, ubsan with -fno-sanitize-recover and w/o asan will fail<br class="">+// to dump coverage.<br class="">+// CHECK1:  1 PCs written<br class="">+// CHECK2:  3 PCs written<br class="">+// CHECK3:  4 PCs written<br class=""><br class=""><br class="">_______________________________________________<br class="">llvm-commits mailing list<br class=""><a href="mailto:llvm-commits@cs.uiuc.edu" class="">llvm-commits@cs.uiuc.edu</a><br class="">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits<br class=""></div></blockquote></div><br class=""></div></body></html>