<div dir="ltr">Looking... </div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 6, 2015 at 9:01 AM, Steven Wu <span dir="ltr"><<a href="mailto:stevenwu@apple.com" target="_blank">stevenwu@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Hi Kostya<div><br></div><div>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" target="_blank">http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA_check/533/consoleFull#19223059818254eaf0-7326-4999-85b0-388101f2d404</a></div><div>Can you take a look at it? If you can quickly fix it or revert it, it will be great.</div><div><br></div><div>Thanks</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>Steven</div></font></span><div><div class="h5"><div><br><div><blockquote type="cite"><div>On Jan 5, 2015, at 5:31 PM, Kostya Serebryany <<a href="mailto:kcc@google.com" target="_blank">kcc@google.com</a>> wrote:</div><br><div>Author: kcc<br>Date: Mon Jan  5 19:31:23 2015<br>New Revision: 225234<br><br>URL: <a href="http://llvm.org/viewvc/llvm-project?rev=225234&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=225234&view=rev</a><br>Log:<br>[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><br>Added:<br>    compiler-rt/trunk/test/ubsan/TestCases/Misc/<a href="http://coverage-levels.cc" target="_blank">coverage-levels.cc</a><br>Modified:<br>    compiler-rt/trunk/lib/ubsan/ubsan_init.cc<br><br>Modified: compiler-rt/trunk/lib/ubsan/ubsan_init.cc<br>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" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/ubsan/ubsan_init.cc?rev=225234&r1=225233&r2=225234&view=diff</a><br>==============================================================================<br>--- compiler-rt/trunk/lib/ubsan/ubsan_init.cc (original)<br>+++ compiler-rt/trunk/lib/ubsan/ubsan_init.cc Mon Jan  5 19:31:23 2015<br>@@ -43,6 +43,7 @@ void __ubsan::InitIfNecessary() {<br>   // Initialize UBSan-specific flags.<br>   InitializeFlags();<br>   SuppressionContext::InitIfNecessary();<br>+  InitializeCoverage(common_flags()->coverage, common_flags()->coverage_dir);<br>   ubsan_inited = true;<br> }<br><br><br>Added: compiler-rt/trunk/test/ubsan/TestCases/Misc/<a href="http://coverage-levels.cc" target="_blank">coverage-levels.cc</a><br>URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/ubsan/TestCases/Misc/coverage-levels.cc?rev=225234&view=auto" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/ubsan/TestCases/Misc/coverage-levels.cc?rev=225234&view=auto</a><br>==============================================================================<br>--- compiler-rt/trunk/test/ubsan/TestCases/Misc/<a href="http://coverage-levels.cc" target="_blank">coverage-levels.cc</a> (added)<br>+++ compiler-rt/trunk/test/ubsan/TestCases/Misc/<a href="http://coverage-levels.cc" target="_blank">coverage-levels.cc</a> Mon Jan  5 19:31:23 2015<br>@@ -0,0 +1,36 @@<br>+// Test various levels of coverage<br>+//<br>+// RUN: mkdir -p %T/coverage-levels<br>+// RUN: OPT=coverage=1:verbosity=1:coverage_dir=%T/coverage-levels<br>+// RUN: %clangxx -fsanitize=shift                        -DGOOD_SHIFT=1 -O1 -fsanitize-coverage=1  %s -o %t<br>+// RUN: UBSAN_OPTIONS=$OPT ASAN_OPTIONS=$OPT %run %t 2>&1 | FileCheck %s --check-prefix=CHECK1 --check-prefix=CHECK_NOWARN<br>+// RUN: %clangxx -fsanitize=undefined                    -DGOOD_SHIFT=1 -O1 -fsanitize-coverage=1  %s -o %t<br>+// RUN: UBSAN_OPTIONS=$OPT ASAN_OPTIONS=$OPT %run %t 2>&1 | FileCheck %s --check-prefix=CHECK1 --check-prefix=CHECK_NOWARN<br>+<br>+// RUN: %clangxx -fsanitize=shift -O1 -fsanitize-coverage=1  %s -o %t<br>+// RUN: UBSAN_OPTIONS=$OPT ASAN_OPTIONS=$OPT %run %t 2>&1 | FileCheck %s --check-prefix=CHECK1 --check-prefix=CHECK_WARN<br>+// RUN: %clangxx -fsanitize=shift -O1 -fsanitize-coverage=2  %s -o %t<br>+// RUN: UBSAN_OPTIONS=$OPT ASAN_OPTIONS=$OPT %run %t 2>&1 | FileCheck %s --check-prefix=CHECK2 --check-prefix=CHECK_WARN<br>+// RUN: %clangxx -fsanitize=shift -O1 -fsanitize-coverage=3  %s -o %t<br>+// RUN: UBSAN_OPTIONS=$OPT ASAN_OPTIONS=$OPT %run %t 2>&1 | FileCheck %s --check-prefix=CHECK3 --check-prefix=CHECK_WARN<br>+<br>+volatile int sink;<br>+int main(int argc, char **argv) {<br>+  int shift = argc * 32;<br>+#if GOOD_SHIFT<br>+  shift = 3;<br>+#endif<br>+  if ((argc << shift) == 16)  // False.<br>+    return 1;<br>+  return 0;<br>+}<br>+<br>+// CHECK_WARN: shift exponent 32 is too large<br>+// CHECK_NOWARN-NOT: ERROR<br>+// FIXME: Currently, coverage instrumentation kicks in after ubsan, so we get<br>+// more than the minimal number of instrumented blocks.<br>+// FIXME: Currently, ubsan with -fno-sanitize-recover and w/o asan will fail<br>+// to dump coverage.<br>+// CHECK1:  1 PCs written<br>+// CHECK2:  3 PCs written<br>+// CHECK3:  4 PCs written<br><br><br>_______________________________________________<br>llvm-commits mailing list<br><a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br></div></blockquote></div><br></div></div></div></div></blockquote></div><br></div>