Mark some test XFAIL for GCC 4.9 due to missing is_trivial* traits
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@258287 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -9,6 +9,9 @@
|
|||||||
|
|
||||||
// <iterator>
|
// <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>,
|
// template <class T, class charT = char, class traits = char_traits<charT>,
|
||||||
// class Distance = ptrdiff_t>
|
// class Distance = ptrdiff_t>
|
||||||
// class istream_iterator
|
// class istream_iterator
|
||||||
|
|||||||
@@ -9,6 +9,9 @@
|
|||||||
|
|
||||||
// <iterator>
|
// <iterator>
|
||||||
|
|
||||||
|
// Test fails due to use of is_trivially_* trait.
|
||||||
|
// XFAIL: gcc-4.9
|
||||||
|
|
||||||
// template<class charT, class traits = char_traits<charT> >
|
// template<class charT, class traits = char_traits<charT> >
|
||||||
// class istreambuf_iterator
|
// class istreambuf_iterator
|
||||||
// : public iterator<input_iterator_tag, charT,
|
// : public iterator<input_iterator_tag, charT,
|
||||||
|
|||||||
@@ -57,10 +57,14 @@ void test_comparisons()
|
|||||||
#pragma clang diagnostic ignored "-Wnull-conversion"
|
#pragma clang diagnostic ignored "-Wnull-conversion"
|
||||||
#endif
|
#endif
|
||||||
void test_nullptr_conversions() {
|
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;
|
bool b = nullptr;
|
||||||
assert(!b);
|
assert(!b);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
bool b(nullptr);
|
bool b(nullptr);
|
||||||
assert(!b);
|
assert(!b);
|
||||||
|
|||||||
@@ -14,6 +14,9 @@
|
|||||||
// Test that reference wrapper meets the requirements of TriviallyCopyable,
|
// Test that reference wrapper meets the requirements of TriviallyCopyable,
|
||||||
// CopyConstructible and CopyAssignable.
|
// CopyConstructible and CopyAssignable.
|
||||||
|
|
||||||
|
// Test fails due to use of is_trivially_* trait.
|
||||||
|
// XFAIL: gcc-4.9
|
||||||
|
|
||||||
#include <functional>
|
#include <functional>
|
||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|||||||
@@ -11,6 +11,8 @@
|
|||||||
|
|
||||||
// is_trivially_assignable
|
// is_trivially_assignable
|
||||||
|
|
||||||
|
// XFAIL: gcc-4.9
|
||||||
|
|
||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
#include "test_macros.h"
|
#include "test_macros.h"
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,8 @@
|
|||||||
|
|
||||||
// is_trivially_copy_assignable
|
// is_trivially_copy_assignable
|
||||||
|
|
||||||
|
// XFAIL: gcc-4.9
|
||||||
|
|
||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
#include "test_macros.h"
|
#include "test_macros.h"
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,8 @@
|
|||||||
|
|
||||||
// is_trivially_copy_constructible
|
// is_trivially_copy_constructible
|
||||||
|
|
||||||
|
// XFAIL: gcc-4.9
|
||||||
|
|
||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
#include "test_macros.h"
|
#include "test_macros.h"
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,8 @@
|
|||||||
|
|
||||||
// is_trivially_copyable
|
// is_trivially_copyable
|
||||||
|
|
||||||
|
// XFAIL: gcc-4.9
|
||||||
|
|
||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
#include "test_macros.h"
|
#include "test_macros.h"
|
||||||
|
|||||||
@@ -11,6 +11,8 @@
|
|||||||
|
|
||||||
// is_trivially_move_assignable
|
// is_trivially_move_assignable
|
||||||
|
|
||||||
|
// XFAIL: gcc-4.9
|
||||||
|
|
||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
#include "test_macros.h"
|
#include "test_macros.h"
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,8 @@
|
|||||||
|
|
||||||
// is_trivially_move_constructible
|
// is_trivially_move_constructible
|
||||||
|
|
||||||
|
// XFAIL: gcc-4.9
|
||||||
|
|
||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
#include "test_macros.h"
|
#include "test_macros.h"
|
||||||
|
|
||||||
@@ -60,7 +62,7 @@ struct A
|
|||||||
A(const A&);
|
A(const A&);
|
||||||
};
|
};
|
||||||
|
|
||||||
#if __has_feature(cxx_defaulted_functions)
|
#if TEST_STD_VER >= 11
|
||||||
|
|
||||||
struct MoveOnly1
|
struct MoveOnly1
|
||||||
{
|
{
|
||||||
@@ -89,7 +91,7 @@ int main()
|
|||||||
test_is_trivially_move_constructible<const int*>();
|
test_is_trivially_move_constructible<const int*>();
|
||||||
test_is_trivially_move_constructible<bit_zero>();
|
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<MoveOnly1>::value, "");
|
||||||
static_assert( std::is_trivially_move_constructible<MoveOnly2>::value, "");
|
static_assert( std::is_trivially_move_constructible<MoveOnly2>::value, "");
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -13,9 +13,14 @@
|
|||||||
|
|
||||||
// pair(const pair&) = default;
|
// pair(const pair&) = default;
|
||||||
|
|
||||||
|
// Doesn't pass due to use of is_trivially_* trait.
|
||||||
|
// XFAIL: gcc-4.9
|
||||||
|
|
||||||
#include <utility>
|
#include <utility>
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
|
|
||||||
|
#include "test_macros.h"
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
@@ -28,7 +33,7 @@ int main()
|
|||||||
|
|
||||||
static_assert((std::is_trivially_copy_constructible<std::pair<int, int> >::value), "");
|
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;
|
typedef std::pair<int, short> P1;
|
||||||
constexpr P1 p1(3, 4);
|
constexpr P1 p1(3, 4);
|
||||||
|
|||||||
@@ -13,9 +13,15 @@
|
|||||||
|
|
||||||
// constexpr pair();
|
// 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
|
// NOTE: The SFINAE on the default constructor is tested in
|
||||||
// default-sfinae.pass.cpp
|
// default-sfinae.pass.cpp
|
||||||
|
|
||||||
|
|
||||||
#include <utility>
|
#include <utility>
|
||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
|
|||||||
Reference in New Issue
Block a user