Hi mclow.lists, danalbert, jroelofs,

Pretty please? We now have a significant number of builders that test libc++. I 
really want those builders to be green.
Most of these failures are due to differences in locale data, including those 
in regex. I will continue working on fixing the locale and regex tests but 
there is no consensus on what the correct direction to go. 

Since the builders display a list of XFAIL tests they are by no means hidden. 
It just means they are expected failures. Now unexpected failures won't get 
mixed in with well known and expected failures.

http://reviews.llvm.org/D5941

Files:
  
test/localization/locale.categories/category.collate/locale.collate.byname/compare.pass.cpp
  
test/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_zh_CN.pass.cpp
  
test/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_zh_CN.pass.cpp
  
test/localization/locale.categories/category.monetary/locale.moneypunct.byname/thousands_sep.pass.cpp
  
test/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
  
test/localization/locale.categories/category.time/locale.time.get.byname/get_one.pass.cpp
  
test/localization/locale.categories/category.time/locale.time.get.byname/get_one_wide.pass.cpp
  
test/localization/locale.categories/category.time/locale.time.get.byname/get_weekday.pass.cpp
  
test/localization/locale.categories/category.time/locale.time.get.byname/get_weekday_wide.pass.cpp
  
test/localization/locale.categories/category.time/locale.time.put.byname/put1.pass.cpp
  
test/localization/locale.categories/category.time/locale.time.put/locale.time.put.members/put2.pass.cpp
  
test/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp
  
test/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
  test/re/re.alg/re.alg.match/basic.pass.cpp
  test/re/re.alg/re.alg.match/ecma.pass.cpp
  test/re/re.alg/re.alg.match/extended.pass.cpp
  test/re/re.alg/re.alg.search/awk.pass.cpp
  test/re/re.alg/re.alg.search/basic.pass.cpp
  test/re/re.alg/re.alg.search/ecma.pass.cpp
  test/re/re.alg/re.alg.search/extended.pass.cpp
  test/re/re.traits/lookup_collatename.pass.cpp
  test/re/re.traits/translate_nocase.pass.cpp
Index: test/localization/locale.categories/category.collate/locale.collate.byname/compare.pass.cpp
===================================================================
--- test/localization/locale.categories/category.collate/locale.collate.byname/compare.pass.cpp
+++ test/localization/locale.categories/category.collate/locale.collate.byname/compare.pass.cpp
@@ -18,6 +18,11 @@
 //     has any difference from "C" collation.  But I do believe I'm picking
 //     up the OS's collation files.
 
+// TODO investigation needed.
+// Glibc seems to collate files differently from the way Apple's C library does
+// it.
+// XFAIL: linux
+
 #include <locale>
 #include <string>
 #include <cassert>
Index: test/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_zh_CN.pass.cpp
===================================================================
--- test/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_zh_CN.pass.cpp
+++ test/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_zh_CN.pass.cpp
@@ -16,6 +16,9 @@
 // iter_type get(iter_type b, iter_type e, bool intl, ios_base& iob,
 //               ios_base::iostate& err, long double& v) const;
 
+// TODO For zh_CN GLIBC puts the negative sign after the currency symbol.
+// XFAIL: linux
+
 #include <locale>
 #include <ios>
 #include <streambuf>
Index: test/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_zh_CN.pass.cpp
===================================================================
--- test/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_zh_CN.pass.cpp
+++ test/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_zh_CN.pass.cpp
@@ -16,6 +16,9 @@
 // iter_type put(iter_type s, bool intl, ios_base& f, char_type fill,
 //               long double units) const;
 
+// TODO For zh_CN GLIBC puts the negative sign after the currency symbol.
+// XFAIL: linux
+
 #include <locale>
 #include <ios>
 #include <streambuf>
Index: test/localization/locale.categories/category.monetary/locale.moneypunct.byname/thousands_sep.pass.cpp
===================================================================
--- test/localization/locale.categories/category.monetary/locale.moneypunct.byname/thousands_sep.pass.cpp
+++ test/localization/locale.categories/category.monetary/locale.moneypunct.byname/thousands_sep.pass.cpp
@@ -18,6 +18,12 @@
 
 // charT thousands_sep() const;
 
+// Failure related to GLIBC's use of U00A0 as mon_thousands_sep
+// and U002E as mon_decimal_point.
+// TODO: U00A0 should be investigated.
+// Possibly related to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=16006
+// XFAIL: linux
+
 #include <locale>
 #include <limits>
 #include <cassert>
Index: test/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
===================================================================
--- test/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
+++ test/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
@@ -13,6 +13,9 @@
 
 // iter_type put(iter_type s, ios_base& iob, char_type fill, long double v) const;
 
+// TODO GLIBC uses a different string for positive and negative NAN numbers.
+// XFAIL: linux
+
 #include <locale>
 #include <ios>
 #include <cassert>
Index: test/localization/locale.categories/category.time/locale.time.get.byname/get_one.pass.cpp
===================================================================
--- test/localization/locale.categories/category.time/locale.time.get.byname/get_one.pass.cpp
+++ test/localization/locale.categories/category.time/locale.time.get.byname/get_one.pass.cpp
@@ -19,6 +19,9 @@
 // iter_type get(iter_type s, iter_type end, ios_base& f,
 //               ios_base::iostate& err, tm *t, char format, char modifier = 0) const;
 
+// TODO: investigation needed
+// XFAIL: linux
+
 #include <locale>
 #include <cassert>
 #include "test_iterators.h"
Index: test/localization/locale.categories/category.time/locale.time.get.byname/get_one_wide.pass.cpp
===================================================================
--- test/localization/locale.categories/category.time/locale.time.get.byname/get_one_wide.pass.cpp
+++ test/localization/locale.categories/category.time/locale.time.get.byname/get_one_wide.pass.cpp
@@ -19,6 +19,9 @@
 // iter_type get(iter_type s, iter_type end, ios_base& f,
 //               ios_base::iostate& err, tm *t, char format, char modifier = 0) const;
 
+// TODO: investigation needed
+// XFAIL: linux
+
 #include <locale>
 #include <cassert>
 #include "test_iterators.h"
Index: test/localization/locale.categories/category.time/locale.time.get.byname/get_weekday.pass.cpp
===================================================================
--- test/localization/locale.categories/category.time/locale.time.get.byname/get_weekday.pass.cpp
+++ test/localization/locale.categories/category.time/locale.time.get.byname/get_weekday.pass.cpp
@@ -20,6 +20,9 @@
 // get_weekday(iter_type s, iter_type end, ios_base& str,
 //             ios_base::iostate& err, tm* t) const;
 
+// TODO: investigation needed
+// XFAIL: linux
+
 #include <locale>
 #include <cassert>
 #include "test_iterators.h"
Index: test/localization/locale.categories/category.time/locale.time.get.byname/get_weekday_wide.pass.cpp
===================================================================
--- test/localization/locale.categories/category.time/locale.time.get.byname/get_weekday_wide.pass.cpp
+++ test/localization/locale.categories/category.time/locale.time.get.byname/get_weekday_wide.pass.cpp
@@ -20,6 +20,9 @@
 // get_weekday(iter_type s, iter_type end, ios_base& str,
 //             ios_base::iostate& err, tm* t) const;
 
+// TODO: investigation needed
+// XFAIL: linux
+
 #include <locale>
 #include <cassert>
 #include "test_iterators.h"
Index: test/localization/locale.categories/category.time/locale.time.put.byname/put1.pass.cpp
===================================================================
--- test/localization/locale.categories/category.time/locale.time.put.byname/put1.pass.cpp
+++ test/localization/locale.categories/category.time/locale.time.put.byname/put1.pass.cpp
@@ -24,6 +24,9 @@
 //     ~time_put_byname();
 // };
 
+// TODO: investigation needed
+// XFAIL: linux
+
 #include <locale>
 #include <cassert>
 #include "test_iterators.h"
Index: test/localization/locale.categories/category.time/locale.time.put/locale.time.put.members/put2.pass.cpp
===================================================================
--- test/localization/locale.categories/category.time/locale.time.put/locale.time.put.members/put2.pass.cpp
+++ test/localization/locale.categories/category.time/locale.time.put/locale.time.put.members/put2.pass.cpp
@@ -14,6 +14,9 @@
 // iter_type put(iter_type s, ios_base& str, char_type fill, const tm* t,
 //               char format, char modifier = 0) const;
 
+// TODO: investigation needed
+// XFAIL: linux
+
 #include <locale>
 #include <cassert>
 #include "test_iterators.h"
Index: test/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp
===================================================================
--- test/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp
+++ test/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp
@@ -16,6 +16,9 @@
 
 // string grouping() const;
 
+// TODO: investigation needed
+// XFAIL: linux
+
 #include <locale>
 #include <cassert>
 
Index: test/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
===================================================================
--- test/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
+++ test/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
@@ -16,6 +16,9 @@
 
 // char_type thousands_sep() const;
 
+// TODO: investigation needed
+// XFAIL: linux
+
 #include <locale>
 #include <cassert>
 
Index: test/re/re.alg/re.alg.match/basic.pass.cpp
===================================================================
--- test/re/re.alg/re.alg.match/basic.pass.cpp
+++ test/re/re.alg/re.alg.match/basic.pass.cpp
@@ -18,6 +18,9 @@
 //                  const basic_regex<charT, traits>& e,
 //                  regex_constants::match_flag_type flags = regex_constants::match_default);
 
+// TODO: investigation needed
+// XFAIL: linux
+
 #include <regex>
 #include <cassert>
 
Index: test/re/re.alg/re.alg.match/ecma.pass.cpp
===================================================================
--- test/re/re.alg/re.alg.match/ecma.pass.cpp
+++ test/re/re.alg/re.alg.match/ecma.pass.cpp
@@ -18,6 +18,9 @@
 //                  const basic_regex<charT, traits>& e,
 //                  regex_constants::match_flag_type flags = regex_constants::match_default);
 
+// TODO: investigation needed
+// XFAIL: linux
+
 #include <regex>
 #include <cassert>
 
Index: test/re/re.alg/re.alg.match/extended.pass.cpp
===================================================================
--- test/re/re.alg/re.alg.match/extended.pass.cpp
+++ test/re/re.alg/re.alg.match/extended.pass.cpp
@@ -18,6 +18,9 @@
 //                  const basic_regex<charT, traits>& e,
 //                  regex_constants::match_flag_type flags = regex_constants::match_default);
 
+// TODO: investigation needed
+// XFAIL: linux
+
 #include <regex>
 #include <cassert>
 
Index: test/re/re.alg/re.alg.search/awk.pass.cpp
===================================================================
--- test/re/re.alg/re.alg.search/awk.pass.cpp
+++ test/re/re.alg/re.alg.search/awk.pass.cpp
@@ -18,6 +18,9 @@
 //                  const basic_regex<charT, traits>& e,
 //                  regex_constants::match_flag_type flags = regex_constants::match_default);
 
+// TODO: investigation needed
+// XFAIL: linux
+
 #include <regex>
 #include <cassert>
 
Index: test/re/re.alg/re.alg.search/basic.pass.cpp
===================================================================
--- test/re/re.alg/re.alg.search/basic.pass.cpp
+++ test/re/re.alg/re.alg.search/basic.pass.cpp
@@ -18,6 +18,9 @@
 //                  const basic_regex<charT, traits>& e,
 //                  regex_constants::match_flag_type flags = regex_constants::match_default);
 
+// TODO: investigation needed
+// XFAIL: linux
+
 #include <regex>
 #include <cassert>
 
Index: test/re/re.alg/re.alg.search/ecma.pass.cpp
===================================================================
--- test/re/re.alg/re.alg.search/ecma.pass.cpp
+++ test/re/re.alg/re.alg.search/ecma.pass.cpp
@@ -18,6 +18,9 @@
 //                  const basic_regex<charT, traits>& e,
 //                  regex_constants::match_flag_type flags = regex_constants::match_default);
 
+// TODO: investigation needed
+// XFAIL: linux
+
 #include <regex>
 #include <cassert>
 
Index: test/re/re.alg/re.alg.search/extended.pass.cpp
===================================================================
--- test/re/re.alg/re.alg.search/extended.pass.cpp
+++ test/re/re.alg/re.alg.search/extended.pass.cpp
@@ -18,6 +18,9 @@
 //                  const basic_regex<charT, traits>& e,
 //                  regex_constants::match_flag_type flags = regex_constants::match_default);
 
+// TODO: investigation needed
+// XFAIL: linux
+
 #include <regex>
 #include <cassert>
 
Index: test/re/re.traits/lookup_collatename.pass.cpp
===================================================================
--- test/re/re.traits/lookup_collatename.pass.cpp
+++ test/re/re.traits/lookup_collatename.pass.cpp
@@ -17,6 +17,9 @@
 //   string_type
 //   lookup_collatename(ForwardIterator first, ForwardIterator last) const;
 
+// TODO: investigation needed
+// XFAIL: linux
+
 #include <regex>
 #include <iterator>
 #include <cassert>
Index: test/re/re.traits/translate_nocase.pass.cpp
===================================================================
--- test/re/re.traits/translate_nocase.pass.cpp
+++ test/re/re.traits/translate_nocase.pass.cpp
@@ -17,6 +17,9 @@
 // XFAIL: with_system_lib=x86_64-apple-darwin11
 // XFAIL: with_system_lib=x86_64-apple-darwin12
 
+// TODO: investigation needed
+// XFAIL: linux
+
 #include <regex>
 #include <cassert>
 
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to