[cfe-dev] [release_34] [compiler-rt] UBSAN vptr.cpp test failure

İsmail Dönmez ismail at donmez.ws
Mon Dec 9 04:22:30 PST 2013


Hi,

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.


******************** TEST 'UndefinedBehaviorSanitizer-Standalone ::
TypeCheck/vptr.cpp' FAILED ********************
 Script:
 --
 /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
 /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
 /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
 /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
 /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
 /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
 /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
 /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
 /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
 /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
 /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
 /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
 --
 Exit Code: 1

 Command Output (stderr):
 --
 /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]
     p = reinterpret_cast<T*>(new U);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
 /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
     p = reinterpret_cast<T*>(new U);
         ^~~~~~~~~~~~~~~~
         static_cast
 /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]
     return reinterpret_cast<U*>(p)->v() - 2;
            ^~~~~~~~~~~~~~~~~~~~~~~
 /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
     return reinterpret_cast<U*>(p)->v() - 2;
            ^~~~~~~~~~~~~~~~
            static_cast
 /home/abuild/rpmbuild/BUILD/llvm/projects/compiler-rt/lib/ubsan/lit_tests/TestCases/TypeCheck/vptr.cpp:114:5:
warning: expression result unused [-Wunused-value]
     static_cast<T*>(reinterpret_cast<S*>(p));
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 3 warnings generated.
 /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
     // CHECK-OFFSET-NEXT: {{^              \^                        (
                    ~~~~~~~~~~~~)~~~~~~~~~~~ *$}}
                           ^
 <stdin>:3:90: note: scanning from here
  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

              ^

 --
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20131209/29e0bd72/attachment.html>


More information about the cfe-dev mailing list