summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/uninitialized_default_construct.pass.cpp3
-rw-r--r--libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/uninitialized_default_construct_n.pass.cpp3
-rw-r--r--libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/uninitialized_value_construct.pass.cpp3
-rw-r--r--libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/uninitialized_value_construct_n.pass.cpp3
-rw-r--r--libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/uninitialized_move.pass.cpp3
-rw-r--r--libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/uninitialized_move_n.pass.cpp3
-rw-r--r--libcxx/test/support/test_macros.h11
-rw-r--r--libcxx/test/support/test_throw.h27
8 files changed, 17 insertions, 39 deletions
diff --git a/libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/uninitialized_default_construct.pass.cpp b/libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/uninitialized_default_construct.pass.cpp
index 6bdb49cad88..cd57769df2e 100644
--- a/libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/uninitialized_default_construct.pass.cpp
+++ b/libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/uninitialized_default_construct.pass.cpp
@@ -20,7 +20,6 @@
#include "test_macros.h"
#include "test_iterators.h"
-#include "test_throw.h"
struct Counted {
static int count;
@@ -43,7 +42,7 @@ struct ThrowsCounted {
explicit ThrowsCounted() {
++constructed;
if (throw_after > 0 && --throw_after == 0) {
- test_throw<int>();
+ TEST_THROW(1);
}
++count;
}
diff --git a/libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/uninitialized_default_construct_n.pass.cpp b/libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/uninitialized_default_construct_n.pass.cpp
index f59ea8256c0..bfb74b99ecd 100644
--- a/libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/uninitialized_default_construct_n.pass.cpp
+++ b/libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.default/uninitialized_default_construct_n.pass.cpp
@@ -20,7 +20,6 @@
#include "test_macros.h"
#include "test_iterators.h"
-#include "test_throw.h"
struct Counted {
static int count;
@@ -43,7 +42,7 @@ struct ThrowsCounted {
explicit ThrowsCounted() {
++constructed;
if (throw_after > 0 && --throw_after == 0) {
- test_throw<int>();
+ TEST_THROW(1);
}
++count;
}
diff --git a/libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/uninitialized_value_construct.pass.cpp b/libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/uninitialized_value_construct.pass.cpp
index 3f73b60a6e2..befe30a6c03 100644
--- a/libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/uninitialized_value_construct.pass.cpp
+++ b/libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/uninitialized_value_construct.pass.cpp
@@ -20,7 +20,6 @@
#include "test_macros.h"
#include "test_iterators.h"
-#include "test_throw.h"
struct Counted {
static int count;
@@ -43,7 +42,7 @@ struct ThrowsCounted {
explicit ThrowsCounted() {
++constructed;
if (throw_after > 0 && --throw_after == 0) {
- test_throw<int>();
+ TEST_THROW(1);
}
++count;
}
diff --git a/libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/uninitialized_value_construct_n.pass.cpp b/libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/uninitialized_value_construct_n.pass.cpp
index 65f9523f8c1..323d00f7c9c 100644
--- a/libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/uninitialized_value_construct_n.pass.cpp
+++ b/libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.construct.value/uninitialized_value_construct_n.pass.cpp
@@ -20,7 +20,6 @@
#include "test_macros.h"
#include "test_iterators.h"
-#include "test_throw.h"
struct Counted {
static int count;
@@ -42,7 +41,7 @@ struct ThrowsCounted {
explicit ThrowsCounted() {
++constructed;
if (throw_after > 0 && --throw_after == 0) {
- test_throw<int>();
+ TEST_THROW(1);
}
++count;
}
diff --git a/libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/uninitialized_move.pass.cpp b/libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/uninitialized_move.pass.cpp
index 51fb06b9a05..6149838218e 100644
--- a/libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/uninitialized_move.pass.cpp
+++ b/libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/uninitialized_move.pass.cpp
@@ -20,7 +20,6 @@
#include "test_macros.h"
#include "test_iterators.h"
-#include "test_throw.h"
struct Counted {
static int count;
@@ -43,7 +42,7 @@ struct ThrowsCounted {
explicit ThrowsCounted(int&& x) {
++constructed;
if (throw_after > 0 && --throw_after == 0) {
- test_throw<int>();
+ TEST_THROW(1);
}
++count;
x = 0;
diff --git a/libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/uninitialized_move_n.pass.cpp b/libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/uninitialized_move_n.pass.cpp
index 58866e16551..cf6af7472b8 100644
--- a/libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/uninitialized_move_n.pass.cpp
+++ b/libcxx/test/std/utilities/memory/specialized.algorithms/uninitialized.move/uninitialized_move_n.pass.cpp
@@ -20,7 +20,6 @@
#include "test_macros.h"
#include "test_iterators.h"
-#include "test_throw.h"
struct Counted {
static int count;
@@ -43,7 +42,7 @@ struct ThrowsCounted {
explicit ThrowsCounted(int&& x) {
++constructed;
if (throw_after > 0 && --throw_after == 0) {
- test_throw<int>();
+ TEST_THROW(1);
}
++count;
x = 0;
diff --git a/libcxx/test/support/test_macros.h b/libcxx/test/support/test_macros.h
index affd26ba033..534c13a2fe0 100644
--- a/libcxx/test/support/test_macros.h
+++ b/libcxx/test/support/test_macros.h
@@ -140,4 +140,15 @@ struct is_same<T, T> { enum {value = 1}; };
static_assert(test_macros_detail::is_same<__VA_ARGS__>::value, \
"Types differ uexpectedly")
+#ifndef TEST_HAS_NO_EXCEPTIONS
+#define TEST_THROW(...) throw __VA_ARGS__
+#else
+#if defined(__GNUC__)
+#define TEST_THROW(...) __builtin_abort()
+#else
+#include <stdlib.h>
+#define TEST_THROW(...) ::abort()
+#endif
+#endif
+
#endif // SUPPORT_TEST_MACROS_HPP
diff --git a/libcxx/test/support/test_throw.h b/libcxx/test/support/test_throw.h
deleted file mode 100644
index 805cb049de8..00000000000
--- a/libcxx/test/support/test_throw.h
+++ /dev/null
@@ -1,27 +0,0 @@
-// -*- C++ -*-
-//===---------------------------- test_macros.h ---------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef SUPPORT_TEST_THROW_H
-#define SUPPORT_TEST_THROW_H
-
-#include "test_macros.h"
-#include <cstdlib>
-
-template <class Ex>
-TEST_NORETURN
-inline void test_throw() {
-#ifndef TEST_HAS_NO_EXCEPTIONS
- throw Ex();
-#else
- std::abort();
-#endif
-}
-
-#endif // SUPPORT_TEST_THROW_H
OpenPOWER on IntegriCloud