summaryrefslogtreecommitdiffstats
path: root/libcxx
diff options
context:
space:
mode:
authorEric Fiselier <eric@efcs.ca>2016-01-20 04:59:57 +0000
committerEric Fiselier <eric@efcs.ca>2016-01-20 04:59:57 +0000
commit6469c3ec172db5e4da6e7ea64feab76e3c1a7f87 (patch)
tree7285831fa980740fac254f12c89e070afbe780f8 /libcxx
parent5959df89e935380d53f8530a94474ce41639e4b5 (diff)
downloadbcm5719-llvm-6469c3ec172db5e4da6e7ea64feab76e3c1a7f87.tar.gz
bcm5719-llvm-6469c3ec172db5e4da6e7ea64feab76e3c1a7f87.zip
Mark some test XFAIL for GCC 4.9 due to missing is_trivial* traits
llvm-svn: 258287
Diffstat (limited to 'libcxx')
-rw-r--r--libcxx/test/std/iterators/stream.iterators/istream.iterator/types.pass.cpp3
-rw-r--r--libcxx/test/std/iterators/stream.iterators/istreambuf.iterator/types.pass.cpp3
-rw-r--r--libcxx/test/std/language.support/support.types/nullptr_t.pass.cpp4
-rw-r--r--libcxx/test/std/utilities/function.objects/refwrap/type_properties.pass.cpp3
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_assignable.pass.cpp2
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_assignable.pass.cpp2
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_constructible.pass.cpp2
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copyable.pass.cpp2
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_assignable.pass.cpp2
-rw-r--r--libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_constructible.pass.cpp6
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pairs.pair/copy_ctor.pass.cpp7
-rw-r--r--libcxx/test/std/utilities/utility/pairs/pairs.pair/default.pass.cpp6
12 files changed, 39 insertions, 3 deletions
diff --git a/libcxx/test/std/iterators/stream.iterators/istream.iterator/types.pass.cpp b/libcxx/test/std/iterators/stream.iterators/istream.iterator/types.pass.cpp
index 85a70a01797..1250e364d35 100644
--- a/libcxx/test/std/iterators/stream.iterators/istream.iterator/types.pass.cpp
+++ b/libcxx/test/std/iterators/stream.iterators/istream.iterator/types.pass.cpp
@@ -9,6 +9,9 @@
// <iterator>
+// Test fails due to use of is_trivially_* trait.
+// XFAIL: gcc-4.9
+
// template <class T, class charT = char, class traits = char_traits<charT>,
// class Distance = ptrdiff_t>
// class istream_iterator
diff --git a/libcxx/test/std/iterators/stream.iterators/istreambuf.iterator/types.pass.cpp b/libcxx/test/std/iterators/stream.iterators/istreambuf.iterator/types.pass.cpp
index 2ad927cf952..2507ae39d14 100644
--- a/libcxx/test/std/iterators/stream.iterators/istreambuf.iterator/types.pass.cpp
+++ b/libcxx/test/std/iterators/stream.iterators/istreambuf.iterator/types.pass.cpp
@@ -9,6 +9,9 @@
// <iterator>
+// Test fails due to use of is_trivially_* trait.
+// XFAIL: gcc-4.9
+
// template<class charT, class traits = char_traits<charT> >
// class istreambuf_iterator
// : public iterator<input_iterator_tag, charT,
diff --git a/libcxx/test/std/language.support/support.types/nullptr_t.pass.cpp b/libcxx/test/std/language.support/support.types/nullptr_t.pass.cpp
index 1cc2aa62032..ca5170f649e 100644
--- a/libcxx/test/std/language.support/support.types/nullptr_t.pass.cpp
+++ b/libcxx/test/std/language.support/support.types/nullptr_t.pass.cpp
@@ -57,10 +57,14 @@ void test_comparisons()
#pragma clang diagnostic ignored "-Wnull-conversion"
#endif
void test_nullptr_conversions() {
+// GCC does not accept this due to CWG Defect #1423
+// http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1423
+#if defined(__clang__)
{
bool b = nullptr;
assert(!b);
}
+#endif
{
bool b(nullptr);
assert(!b);
diff --git a/libcxx/test/std/utilities/function.objects/refwrap/type_properties.pass.cpp b/libcxx/test/std/utilities/function.objects/refwrap/type_properties.pass.cpp
index 61e0bfa162d..5a6a6fb7df9 100644
--- a/libcxx/test/std/utilities/function.objects/refwrap/type_properties.pass.cpp
+++ b/libcxx/test/std/utilities/function.objects/refwrap/type_properties.pass.cpp
@@ -14,6 +14,9 @@
// Test that reference wrapper meets the requirements of TriviallyCopyable,
// CopyConstructible and CopyAssignable.
+// Test fails due to use of is_trivially_* trait.
+// XFAIL: gcc-4.9
+
#include <functional>
#include <type_traits>
#include <string>
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_assignable.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_assignable.pass.cpp
index 3ebb9dba429..a9b538b2dff 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_assignable.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_assignable.pass.cpp
@@ -11,6 +11,8 @@
// is_trivially_assignable
+// XFAIL: gcc-4.9
+
#include <type_traits>
#include "test_macros.h"
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_assignable.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_assignable.pass.cpp
index 25429f5470e..966573c9f0f 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_assignable.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_assignable.pass.cpp
@@ -11,6 +11,8 @@
// is_trivially_copy_assignable
+// XFAIL: gcc-4.9
+
#include <type_traits>
#include "test_macros.h"
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_constructible.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_constructible.pass.cpp
index 9556959e126..2922f227666 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_constructible.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_constructible.pass.cpp
@@ -11,6 +11,8 @@
// is_trivially_copy_constructible
+// XFAIL: gcc-4.9
+
#include <type_traits>
#include "test_macros.h"
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copyable.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copyable.pass.cpp
index c19a29ffb58..42ecdb3b896 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copyable.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copyable.pass.cpp
@@ -11,6 +11,8 @@
// is_trivially_copyable
+// XFAIL: gcc-4.9
+
#include <type_traits>
#include <cassert>
#include "test_macros.h"
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_assignable.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_assignable.pass.cpp
index eca596ee1c1..9a27c73cdfd 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_assignable.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_assignable.pass.cpp
@@ -11,6 +11,8 @@
// is_trivially_move_assignable
+// XFAIL: gcc-4.9
+
#include <type_traits>
#include "test_macros.h"
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_constructible.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_constructible.pass.cpp
index 313da175f71..941ff31f89d 100644
--- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_constructible.pass.cpp
+++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_constructible.pass.cpp
@@ -11,6 +11,8 @@
// is_trivially_move_constructible
+// XFAIL: gcc-4.9
+
#include <type_traits>
#include "test_macros.h"
@@ -60,7 +62,7 @@ struct A
A(const A&);
};
-#if __has_feature(cxx_defaulted_functions)
+#if TEST_STD_VER >= 11
struct MoveOnly1
{
@@ -89,7 +91,7 @@ int main()
test_is_trivially_move_constructible<const int*>();
test_is_trivially_move_constructible<bit_zero>();
-#if __has_feature(cxx_defaulted_functions)
+#if TEST_STD_VER >= 11
static_assert(!std::is_trivially_move_constructible<MoveOnly1>::value, "");
static_assert( std::is_trivially_move_constructible<MoveOnly2>::value, "");
#endif
diff --git a/libcxx/test/std/utilities/utility/pairs/pairs.pair/copy_ctor.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pairs.pair/copy_ctor.pass.cpp
index 4b54f717045..d16313fe7eb 100644
--- a/libcxx/test/std/utilities/utility/pairs/pairs.pair/copy_ctor.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pairs.pair/copy_ctor.pass.cpp
@@ -13,9 +13,14 @@
// pair(const pair&) = default;
+// Doesn't pass due to use of is_trivially_* trait.
+// XFAIL: gcc-4.9
+
#include <utility>
#include <cassert>
+#include "test_macros.h"
+
int main()
{
{
@@ -28,7 +33,7 @@ int main()
static_assert((std::is_trivially_copy_constructible<std::pair<int, int> >::value), "");
-#if _LIBCPP_STD_VER > 11
+#if TEST_STD_VER > 11
{
typedef std::pair<int, short> P1;
constexpr P1 p1(3, 4);
diff --git a/libcxx/test/std/utilities/utility/pairs/pairs.pair/default.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pairs.pair/default.pass.cpp
index d83328b8f2d..97182d24d02 100644
--- a/libcxx/test/std/utilities/utility/pairs/pairs.pair/default.pass.cpp
+++ b/libcxx/test/std/utilities/utility/pairs/pairs.pair/default.pass.cpp
@@ -13,9 +13,15 @@
// constexpr pair();
+// This test doesn't pass due to a constexpr bug in GCC 4.9 that fails
+// to initialize any type without a user provided constructor in a constant
+// expression (ie float).
+// XFAIL: gcc-4.9
+
// NOTE: The SFINAE on the default constructor is tested in
// default-sfinae.pass.cpp
+
#include <utility>
#include <type_traits>
#include <cassert>
OpenPOWER on IntegriCloud