summaryrefslogtreecommitdiffstats
path: root/libcxx
diff options
context:
space:
mode:
authorRoger Ferrer Ibanez <roger.ferreribanez@arm.com>2016-11-29 16:31:40 +0000
committerRoger Ferrer Ibanez <roger.ferreribanez@arm.com>2016-11-29 16:31:40 +0000
commitd7306fb85ae44e7e5a66003ca81541c1721b5197 (patch)
tree1509ac54a752e7983ebd6cb8945445d3e711d94f /libcxx
parent21ad28cfb4f9e81438a7e14457f15a0c8b308c26 (diff)
downloadbcm5719-llvm-d7306fb85ae44e7e5a66003ca81541c1721b5197.tar.gz
bcm5719-llvm-d7306fb85ae44e7e5a66003ca81541c1721b5197.zip
Protect locale tests under noexceptions
Skip tests that expect exceptions be thrown. Differential Revision: https://reviews.llvm.org/D27096 llvm-svn: 288156
Diffstat (limited to 'libcxx')
-rw-r--r--libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_err_string.pass.cpp5
-rw-r--r--libcxx/test/std/localization/locales/locale.global.templates/use_facet.pass.cpp5
-rw-r--r--libcxx/test/std/localization/locales/locale/locale.cons/char_pointer.pass.cpp5
-rw-r--r--libcxx/test/std/localization/locales/locale/locale.members/combine.pass.cpp5
4 files changed, 16 insertions, 4 deletions
diff --git a/libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_err_string.pass.cpp b/libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_err_string.pass.cpp
index 307311dd9ab..70204c2fb99 100644
--- a/libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_err_string.pass.cpp
+++ b/libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_err_string.pass.cpp
@@ -7,7 +7,6 @@
//
//===----------------------------------------------------------------------===//
-// XFAIL: libcpp-no-exceptions
// <locale>
// wstring_convert<Codecvt, Elem, Wide_alloc, Byte_alloc>
@@ -29,6 +28,7 @@ int main()
static_assert(!std::is_convertible<std::string, Myconv>::value, "");
static_assert( std::is_constructible<Myconv, std::string>::value, "");
#endif
+#ifndef TEST_HAS_NO_EXCEPTIONS
{
Myconv myconv;
try
@@ -48,10 +48,12 @@ int main()
{
}
}
+#endif
{
Myconv myconv("byte error");
std::string bs = myconv.to_bytes(L"\xDA83");
assert(bs == "byte error");
+#ifndef TEST_HAS_NO_EXCEPTIONS
try
{
myconv.from_bytes('\xA5');
@@ -60,6 +62,7 @@ int main()
catch (const std::range_error&)
{
}
+#endif
}
{
Myconv myconv("byte error", L"wide error");
diff --git a/libcxx/test/std/localization/locales/locale.global.templates/use_facet.pass.cpp b/libcxx/test/std/localization/locales/locale.global.templates/use_facet.pass.cpp
index fec8ecc40d1..2dba4b68e91 100644
--- a/libcxx/test/std/localization/locales/locale.global.templates/use_facet.pass.cpp
+++ b/libcxx/test/std/localization/locales/locale.global.templates/use_facet.pass.cpp
@@ -7,7 +7,6 @@
//
//===----------------------------------------------------------------------===//
-// XFAIL: libcpp-no-exceptions
// <locale>
// template <class Facet> const Facet& use_facet(const locale& loc);
@@ -15,6 +14,8 @@
#include <locale>
#include <cassert>
+#include "test_macros.h"
+
int facet_count = 0;
struct my_facet
@@ -32,6 +33,7 @@ std::locale::id my_facet::id;
int main()
{
+#ifndef TEST_HAS_NO_EXCEPTIONS
try
{
const my_facet& f = std::use_facet<my_facet>(std::locale());
@@ -41,6 +43,7 @@ int main()
catch (std::bad_cast&)
{
}
+#endif
const my_facet* fp = 0;
{
std::locale loc(std::locale(), new my_facet);
diff --git a/libcxx/test/std/localization/locales/locale/locale.cons/char_pointer.pass.cpp b/libcxx/test/std/localization/locales/locale/locale.cons/char_pointer.pass.cpp
index c7021df8f57..aef2ea93d66 100644
--- a/libcxx/test/std/localization/locales/locale/locale.cons/char_pointer.pass.cpp
+++ b/libcxx/test/std/localization/locales/locale/locale.cons/char_pointer.pass.cpp
@@ -7,7 +7,6 @@
//
//===----------------------------------------------------------------------===//
-// XFAIL: libcpp-no-exceptions
// REQUIRES: locale.ru_RU.UTF-8
// REQUIRES: locale.zh_CN.UTF-8
@@ -22,6 +21,8 @@
#include "count_new.hpp"
#include "platform_support.h" // locale name macros
+#include "test_macros.h"
+
void check(const std::locale& loc)
{
@@ -70,6 +71,7 @@ int main()
check(loc3);
assert(!(loc == loc3));
assert(loc != loc3);
+#ifndef TEST_HAS_NO_EXCEPTIONS
try
{
std::locale((const char*)0);
@@ -86,6 +88,7 @@ int main()
catch (std::runtime_error&)
{
}
+#endif
std::locale ok("");
}
assert(globalMemCounter.checkOutstandingNewEq(0));
diff --git a/libcxx/test/std/localization/locales/locale/locale.members/combine.pass.cpp b/libcxx/test/std/localization/locales/locale/locale.members/combine.pass.cpp
index 26a760f773a..a9919f6a8c6 100644
--- a/libcxx/test/std/localization/locales/locale/locale.members/combine.pass.cpp
+++ b/libcxx/test/std/localization/locales/locale/locale.members/combine.pass.cpp
@@ -7,7 +7,6 @@
//
//===----------------------------------------------------------------------===//
-// XFAIL: libcpp-no-exceptions
// <locale>
// template <class Facet> locale combine(const locale& other) const;
@@ -18,6 +17,8 @@
#include "count_new.hpp"
+#include "test_macros.h"
+
void check(const std::locale& loc)
{
assert(std::has_facet<std::collate<char> >(loc));
@@ -78,6 +79,7 @@ int main()
}
assert(globalMemCounter.checkOutstandingNewEq(0));
}
+#ifndef TEST_HAS_NO_EXCEPTIONS
{
{
std::locale loc;
@@ -93,4 +95,5 @@ int main()
}
assert(globalMemCounter.checkOutstandingNewEq(0));
}
+#endif
}
OpenPOWER on IntegriCloud