[libcxx] r252870 - [libcxx] Fixup a few fumbles in the initial no-exceptions XFAILs list.

Asiri Rathnayake via cfe-commits cfe-commits at lists.llvm.org
Thu Nov 12 02:41:58 PST 2015


Author: asiri
Date: Thu Nov 12 04:41:57 2015
New Revision: 252870

URL: http://llvm.org/viewvc/llvm-project?rev=252870&view=rev
Log:
[libcxx] Fixup a few fumbles in the initial no-exceptions XFAILs list.

The initial buildbot run found a few missing bits in the initial XFAIL list
for the no-exceptions libc++ variant. These discrepancies are as follows:

[1] Following two tests need XFAILs on the no-exceptions library variant.
My local runs had these two disabled for other reasons (unsupported):

  - localization/locales/locale/locale.cons/char_pointer.pass.cpp
  - numerics/complex.number/complex.ops/complex_divide_complex.pass.cpp

[2] These three does not need XFAILs, they were failing on my local runs for
other reasons:

  - depr/depr.c.headers/uchar_h.pass.cpp
  - input.output/iostreams.base/ios/basic.ios.members/copyfmt.pass.cpp
  - .../category.collate/locale.collate.byname/transform.pass.cpp

(these are failing on my box for the default build as well)

The current patch fixes both the cases above. Additionally, I've run the
following scan to make sure I've covered all the cases:

> grep ' catch \| try \| throw ' -R . | perl -pe 's|(.*?):.*|\1|' | sort | \
  uniq > 1.txt
> grep 'libcpp-no-exceptions' -R . | perl -pe 's|(.*?):.*|\1|' | sort | \
  uniq > 2.txt
> diff 1.txt 2.txt

This showed up a few extra interesting cases:

[3] These two tests do not use try/catch/throw statements, but they fail at
runtime. Need to be investigated, I've left the XFAILs in.

  - std/thread/futures/futures.shared_future/dtor.pass.cpp
  - std/thread/futures/futures.unique_future/dtor.pass.cpp

[4] These tests use a macro named TEST_HAS_NO_EXCEPTIONS to conditionally
exclude try/catch/throw statements when running without exceptions. I'm not
entirely sure why this was needed (AFAIK, we didn't have a no-exceptions
library build before). The macro's defintion is quite similar to that of
_LIBCPP_NO_EXCEPTIONS. I will investigate if this can be reused for my test
fixes or if it should be replaced with _LIBCPP_NO_EXCEPTIONS.

  - std/experimental/any/*

Change-Id: I9ad1e0edd78f305406eaa0ab148b1ab693f7e26a

Modified:
    libcxx/trunk/test/std/depr/depr.c.headers/uchar_h.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios/basic.ios.members/copyfmt.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.collate/locale.collate.byname/transform.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale/locale.cons/char_pointer.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.ops/complex_divide_complex.pass.cpp

Modified: libcxx/trunk/test/std/depr/depr.c.headers/uchar_h.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/depr/depr.c.headers/uchar_h.pass.cpp?rev=252870&r1=252869&r2=252870&view=diff
==============================================================================
--- libcxx/trunk/test/std/depr/depr.c.headers/uchar_h.pass.cpp (original)
+++ libcxx/trunk/test/std/depr/depr.c.headers/uchar_h.pass.cpp Thu Nov 12 04:41:57 2015
@@ -9,7 +9,6 @@
 //
 // XFAIL: apple-darwin
 // XFAIL: newlib
-// XFAIL: libcpp-no-exceptions
 
 // <uchar.h>
 

Modified: libcxx/trunk/test/std/input.output/iostreams.base/ios/basic.ios.members/copyfmt.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/iostreams.base/ios/basic.ios.members/copyfmt.pass.cpp?rev=252870&r1=252869&r2=252870&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/iostreams.base/ios/basic.ios.members/copyfmt.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/iostreams.base/ios/basic.ios.members/copyfmt.pass.cpp Thu Nov 12 04:41:57 2015
@@ -7,6 +7,7 @@
 //
 //===----------------------------------------------------------------------===//
 
+// XFAIL: libcpp-no-exceptions
 // REQUIRES: locale.en_US.UTF-8
 // REQUIRES: locale.fr_FR.UTF-8
 

Modified: libcxx/trunk/test/std/localization/locale.categories/category.collate/locale.collate.byname/transform.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locale.categories/category.collate/locale.collate.byname/transform.pass.cpp?rev=252870&r1=252869&r2=252870&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locale.categories/category.collate/locale.collate.byname/transform.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locale.categories/category.collate/locale.collate.byname/transform.pass.cpp Thu Nov 12 04:41:57 2015
@@ -7,7 +7,6 @@
 //
 //===----------------------------------------------------------------------===//
 
-// XFAIL: libcpp-no-exceptions
 // <locale>
 
 // template <class charT> class collate_byname

Modified: libcxx/trunk/test/std/localization/locales/locale/locale.cons/char_pointer.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locales/locale/locale.cons/char_pointer.pass.cpp?rev=252870&r1=252869&r2=252870&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locales/locale/locale.cons/char_pointer.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locales/locale/locale.cons/char_pointer.pass.cpp Thu Nov 12 04:41:57 2015
@@ -7,6 +7,7 @@
 //
 //===----------------------------------------------------------------------===//
 
+// XFAIL: libcpp-no-exceptions
 // REQUIRES: locale.ru_RU.UTF-8
 // REQUIRES: locale.zh_CN.UTF-8
 // UNSUPPORTED: sanitizer-new-delete

Modified: libcxx/trunk/test/std/numerics/complex.number/complex.ops/complex_divide_complex.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/numerics/complex.number/complex.ops/complex_divide_complex.pass.cpp?rev=252870&r1=252869&r2=252870&view=diff
==============================================================================
--- libcxx/trunk/test/std/numerics/complex.number/complex.ops/complex_divide_complex.pass.cpp (original)
+++ libcxx/trunk/test/std/numerics/complex.number/complex.ops/complex_divide_complex.pass.cpp Thu Nov 12 04:41:57 2015
@@ -7,7 +7,6 @@
 //
 //===----------------------------------------------------------------------===//
 
-// XFAIL: libcpp-no-exceptions
 // <complex>
 
 // template<class T>




More information about the cfe-commits mailing list