XFAIL one sanitizer symbolizer test for FreeBSD
authorDimitry Andric <dimitry@andric.com>
Sun, 31 Jul 2016 19:27:46 +0000 (19:27 +0000)
committerDimitry Andric <dimitry@andric.com>
Sun, 31 Jul 2016 19:27:46 +0000 (19:27 +0000)
Summary:
Due to a QoI issuse in FreeBSD's libcxxrt-based demangler, one sanitizer
symbolizer test consistently appears to fail:

    Value of: DemangleSwiftAndCXX("foo")
      Actual: "float"
    Expected: "foo"

This is because libcxxrt's __cxa_demangle() incorrectly demangles the "foo"
identifier to "float".  It should return an error instead.

For now, XFAIL this particular test for FreeBSD, until we can fix libcxxrt
properly (which might take some time to coordinate with upstream).

Reviewers: rnk, zaks.anna, emaste

Subscribers: emaste, llvm-commits, kubabrecka

Differential Revision: https://reviews.llvm.org/D23001

llvm-svn: 277297

compiler-rt/lib/sanitizer_common/tests/sanitizer_symbolizer_test.cc

index 3d5678a..4c4d2a8 100644 (file)
@@ -62,7 +62,9 @@ TEST(Symbolizer, DemangleSwiftAndCXX) {
   EXPECT_STREQ("_TtSd", DemangleSwiftAndCXX("_TtSd"));
   // Check that the rest demangles properly.
   EXPECT_STREQ("f1(char*, int)", DemangleSwiftAndCXX("_Z2f1Pci"));
+#if !SANITIZER_FREEBSD // QoI issue with libcxxrt on FreeBSD
   EXPECT_STREQ("foo", DemangleSwiftAndCXX("foo"));
+#endif
   EXPECT_STREQ("", DemangleSwiftAndCXX(""));
 }
 #endif