<div dir="ltr"><div>Hi,</div><div><br></div><div>In release_34 branch I got the following test failure on i586 Linux. Can someone shed some light into this? This is the last regression compared to 3.3 release. </div><div><br>

</div><div><br></div><div>******************** TEST 'UndefinedBehaviorSanitizer-Standalone :: TypeCheck/vptr.cpp' FAILED ********************</div><div> Script:</div><div> --</div><div> /home/abuild/rpmbuild/BUILD/llvm/stage2/bin/clang --driver-mode=g++ -fsanitize=vptr /home/abuild/rpmbuild/BUILD/llvm/projects/compiler-rt/lib/ubsan/lit_tests/TestCases/TypeCheck/vptr.cpp -O3 -o /home/abuild/rpmbuild/BUILD/llvm/stage2/projects/compiler-rt/lib/ubsan/lit_tests/UbsanConfig/TypeCheck/Output/vptr.cpp.tmp</div>

<div> /home/abuild/rpmbuild/BUILD/llvm/stage2/projects/compiler-rt/lib/ubsan/lit_tests/UbsanConfig/TypeCheck/Output/vptr.cpp.tmp rT && /home/abuild/rpmbuild/BUILD/llvm/stage2/projects/compiler-rt/lib/ubsan/lit_tests/UbsanConfig/TypeCheck/Output/vptr.cpp.tmp mT && /home/abuild/rpmbuild/BUILD/llvm/stage2/projects/compiler-rt/lib/ubsan/lit_tests/UbsanConfig/TypeCheck/Output/vptr.cpp.tmp fT && /home/abuild/rpmbuild/BUILD/llvm/stage2/projects/compiler-rt/lib/ubsan/lit_tests/UbsanConfig/TypeCheck/Output/vptr.cpp.tmp cT</div>

<div> /home/abuild/rpmbuild/BUILD/llvm/stage2/projects/compiler-rt/lib/ubsan/lit_tests/UbsanConfig/TypeCheck/Output/vptr.cpp.tmp rU && /home/abuild/rpmbuild/BUILD/llvm/stage2/projects/compiler-rt/lib/ubsan/lit_tests/UbsanConfig/TypeCheck/Output/vptr.cpp.tmp mU && /home/abuild/rpmbuild/BUILD/llvm/stage2/projects/compiler-rt/lib/ubsan/lit_tests/UbsanConfig/TypeCheck/Output/vptr.cpp.tmp fU && /home/abuild/rpmbuild/BUILD/llvm/stage2/projects/compiler-rt/lib/ubsan/lit_tests/UbsanConfig/TypeCheck/Output/vptr.cpp.tmp cU</div>

<div> /home/abuild/rpmbuild/BUILD/llvm/stage2/projects/compiler-rt/lib/ubsan/lit_tests/UbsanConfig/TypeCheck/Output/vptr.cpp.tmp rS && /home/abuild/rpmbuild/BUILD/llvm/stage2/projects/compiler-rt/lib/ubsan/lit_tests/UbsanConfig/TypeCheck/Output/vptr.cpp.tmp rV && /home/abuild/rpmbuild/BUILD/llvm/stage2/projects/compiler-rt/lib/ubsan/lit_tests/UbsanConfig/TypeCheck/Output/vptr.cpp.tmp oV</div>

<div> /home/abuild/rpmbuild/BUILD/llvm/stage2/projects/compiler-rt/lib/ubsan/lit_tests/UbsanConfig/TypeCheck/Output/vptr.cpp.tmp mS 2>&1 | FileCheck /home/abuild/rpmbuild/BUILD/llvm/projects/compiler-rt/lib/ubsan/lit_tests/TestCases/TypeCheck/vptr.cpp --check-prefix=CHECK-MEMBER --strict-whitespace</div>

<div> /home/abuild/rpmbuild/BUILD/llvm/stage2/projects/compiler-rt/lib/ubsan/lit_tests/UbsanConfig/TypeCheck/Output/vptr.cpp.tmp fS 2>&1 | FileCheck /home/abuild/rpmbuild/BUILD/llvm/projects/compiler-rt/lib/ubsan/lit_tests/TestCases/TypeCheck/vptr.cpp --check-prefix=CHECK-MEMFUN --strict-whitespace</div>

<div> /home/abuild/rpmbuild/BUILD/llvm/stage2/projects/compiler-rt/lib/ubsan/lit_tests/UbsanConfig/TypeCheck/Output/vptr.cpp.tmp cS 2>&1 | FileCheck /home/abuild/rpmbuild/BUILD/llvm/projects/compiler-rt/lib/ubsan/lit_tests/TestCases/TypeCheck/vptr.cpp --check-prefix=CHECK-DOWNCAST --strict-whitespace</div>

<div> /home/abuild/rpmbuild/BUILD/llvm/stage2/projects/compiler-rt/lib/ubsan/lit_tests/UbsanConfig/TypeCheck/Output/vptr.cpp.tmp mV 2>&1 | FileCheck /home/abuild/rpmbuild/BUILD/llvm/projects/compiler-rt/lib/ubsan/lit_tests/TestCases/TypeCheck/vptr.cpp --check-prefix=CHECK-MEMBER --strict-whitespace</div>

<div> /home/abuild/rpmbuild/BUILD/llvm/stage2/projects/compiler-rt/lib/ubsan/lit_tests/UbsanConfig/TypeCheck/Output/vptr.cpp.tmp fV 2>&1 | FileCheck /home/abuild/rpmbuild/BUILD/llvm/projects/compiler-rt/lib/ubsan/lit_tests/TestCases/TypeCheck/vptr.cpp --check-prefix=CHECK-MEMFUN --strict-whitespace</div>

<div> /home/abuild/rpmbuild/BUILD/llvm/stage2/projects/compiler-rt/lib/ubsan/lit_tests/UbsanConfig/TypeCheck/Output/vptr.cpp.tmp cV 2>&1 | FileCheck /home/abuild/rpmbuild/BUILD/llvm/projects/compiler-rt/lib/ubsan/lit_tests/TestCases/TypeCheck/vptr.cpp --check-prefix=CHECK-DOWNCAST --strict-whitespace</div>

<div> /home/abuild/rpmbuild/BUILD/llvm/stage2/projects/compiler-rt/lib/ubsan/lit_tests/UbsanConfig/TypeCheck/Output/vptr.cpp.tmp oU 2>&1 | FileCheck /home/abuild/rpmbuild/BUILD/llvm/projects/compiler-rt/lib/ubsan/lit_tests/TestCases/TypeCheck/vptr.cpp --check-prefix=CHECK-OFFSET --strict-whitespace</div>

<div> /home/abuild/rpmbuild/BUILD/llvm/stage2/projects/compiler-rt/lib/ubsan/lit_tests/UbsanConfig/TypeCheck/Output/vptr.cpp.tmp m0 2>&1 | FileCheck /home/abuild/rpmbuild/BUILD/llvm/projects/compiler-rt/lib/ubsan/lit_tests/TestCases/TypeCheck/vptr.cpp --check-prefix=CHECK-NULL-MEMBER --strict-whitespace</div>

<div> --</div><div> Exit Code: 1</div><div> </div><div> Command Output (stderr):</div><div> --</div><div> /home/abuild/rpmbuild/BUILD/llvm/projects/compiler-rt/lib/ubsan/lit_tests/TestCases/TypeCheck/vptr.cpp:68:9: warning: 'reinterpret_cast' from class 'U *' to its base at non-zero offset 'T *' behaves differently from 'static_cast' [-Wreinterpret-base-class]</div>

<div>     p = reinterpret_cast<T*>(new U);</div><div>         ^~~~~~~~~~~~~~~~~~~~~~~~~~~</div><div> /home/abuild/rpmbuild/BUILD/llvm/projects/compiler-rt/lib/ubsan/lit_tests/TestCases/TypeCheck/vptr.cpp:68:9: note: use 'static_cast' to adjust the pointer correctly while upcasting</div>

<div>     p = reinterpret_cast<T*>(new U);</div><div>         ^~~~~~~~~~~~~~~~</div><div>         static_cast</div><div> /home/abuild/rpmbuild/BUILD/llvm/projects/compiler-rt/lib/ubsan/lit_tests/TestCases/TypeCheck/vptr.cpp:106:12: warning: 'reinterpret_cast' to class 'U *' from its base at non-zero offset 'T *' behaves differently from 'static_cast' [-Wreinterpret-base-class]</div>

<div>     return reinterpret_cast<U*>(p)->v() - 2;</div><div>            ^~~~~~~~~~~~~~~~~~~~~~~</div><div> /home/abuild/rpmbuild/BUILD/llvm/projects/compiler-rt/lib/ubsan/lit_tests/TestCases/TypeCheck/vptr.cpp:106:12: note: use 'static_cast' to adjust the pointer correctly while downcasting</div>

<div>     return reinterpret_cast<U*>(p)->v() - 2;</div><div>            ^~~~~~~~~~~~~~~~</div><div>            static_cast</div><div> /home/abuild/rpmbuild/BUILD/llvm/projects/compiler-rt/lib/ubsan/lit_tests/TestCases/TypeCheck/vptr.cpp:114:5: warning: expression result unused [-Wunused-value]</div>

<div>     static_cast<T*>(reinterpret_cast<S*>(p));</div><div>     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</div><div> 3 warnings generated.</div><div> /home/abuild/rpmbuild/BUILD/llvm/projects/compiler-rt/lib/ubsan/lit_tests/TestCases/TypeCheck/vptr.cpp:104:27: error: expected string not found in input</div>

<div>     // CHECK-OFFSET-NEXT: {{^              \^                        (                         ~~~~~~~~~~~~)~~~~~~~~~~~ *$}}</div><div>                           ^</div><div> <stdin>:3:90: note: scanning from here</div>

<div>  19 00 00 00  b8 e9 05 08 00 00 00 00  c4 e9 05 08 00 00 00 00  00 00 00 00 11 00 00 00  55 00 00 00</div><div>                                                                                          ^</div><div> </div>

<div> --</div><div><br></div></div>