[libc++] Purge mentions of GCC 4 from the test suite
We don't support GCC 4 and older according to the documentation, so
we should pretend it doesn't exist.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@372787 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/libcxx/diagnostics/enable_nodiscard.fail.cpp b/test/libcxx/diagnostics/enable_nodiscard.fail.cpp
index 0cd74be..b42e4c4 100644
--- a/test/libcxx/diagnostics/enable_nodiscard.fail.cpp
+++ b/test/libcxx/diagnostics/enable_nodiscard.fail.cpp
@@ -14,7 +14,7 @@
// UNSUPPORTED: c++98, c++03
// GCC 7 is the first version to introduce [[nodiscard]]
-// UNSUPPORTED: gcc-4.9, gcc-5, gcc-6
+// UNSUPPORTED: gcc-5, gcc-6
// MODULES_DEFINES: _LIBCPP_ENABLE_NODISCARD
#define _LIBCPP_ENABLE_NODISCARD
diff --git a/test/libcxx/diagnostics/enable_nodiscard_disable_after_cxx17.fail.cpp b/test/libcxx/diagnostics/enable_nodiscard_disable_after_cxx17.fail.cpp
index 530ea54..72fbc01 100644
--- a/test/libcxx/diagnostics/enable_nodiscard_disable_after_cxx17.fail.cpp
+++ b/test/libcxx/diagnostics/enable_nodiscard_disable_after_cxx17.fail.cpp
@@ -10,7 +10,7 @@
// UNSUPPORTED: c++98, c++03
// GCC 7 is the first version to introduce [[nodiscard]]
-// UNSUPPORTED: gcc-4.9, gcc-5, gcc-6
+// UNSUPPORTED: gcc-5, gcc-6
// Test that _LIBCPP_DISABLE_NODISCARD_EXT only disables _LIBCPP_NODISCARD_EXT
// and not _LIBCPP_NODISCARD_AFTER_CXX17.
diff --git a/test/libcxx/diagnostics/enable_nodiscard_disable_nodiscard_ext.fail.cpp b/test/libcxx/diagnostics/enable_nodiscard_disable_nodiscard_ext.fail.cpp
index 56df924..65e5e15 100644
--- a/test/libcxx/diagnostics/enable_nodiscard_disable_nodiscard_ext.fail.cpp
+++ b/test/libcxx/diagnostics/enable_nodiscard_disable_nodiscard_ext.fail.cpp
@@ -10,7 +10,7 @@
// UNSUPPORTED: c++98, c++03
// GCC 7 is the first version to introduce [[nodiscard]]
-// UNSUPPORTED: gcc-4.9, gcc-5, gcc-6
+// UNSUPPORTED: gcc-5, gcc-6
// MODULES_DEFINES: _LIBCPP_ENABLE_NODISCARD
diff --git a/test/libcxx/diagnostics/nodiscard_extensions.fail.cpp b/test/libcxx/diagnostics/nodiscard_extensions.fail.cpp
index 43cc080..dd02a3d 100644
--- a/test/libcxx/diagnostics/nodiscard_extensions.fail.cpp
+++ b/test/libcxx/diagnostics/nodiscard_extensions.fail.cpp
@@ -10,7 +10,7 @@
// UNSUPPORTED: c++98, c++03
// GCC versions prior to 7.0 don't provide the required [[nodiscard]] attribute.
-// UNSUPPORTED: gcc-4, gcc-5, gcc-6
+// UNSUPPORTED: gcc-5, gcc-6
// AppleClang9 doesn't yet support C++17's implicitly synthesized deduction
// guides from existing ctors, needed by default_searcher() below.
diff --git a/test/libcxx/type_traits/is_implicitly_default_constructible.pass.cpp b/test/libcxx/type_traits/is_implicitly_default_constructible.pass.cpp
index 44010d1..c8f9e35 100644
--- a/test/libcxx/type_traits/is_implicitly_default_constructible.pass.cpp
+++ b/test/libcxx/type_traits/is_implicitly_default_constructible.pass.cpp
@@ -9,7 +9,7 @@
// UNSUPPORTED: c++98, c++03
// Before GCC 6, this trait fails. See https://stackoverflow.com/q/41799015/627587.
-// UNSUPPORTED: gcc-4, gcc-5
+// UNSUPPORTED: gcc-5
// <type_traits>
diff --git a/test/libcxx/utilities/utility/pairs/pairs.pair/non_trivial_copy_move_ABI.pass.cpp b/test/libcxx/utilities/utility/pairs/pairs.pair/non_trivial_copy_move_ABI.pass.cpp
index 00c1910..65fe65a 100644
--- a/test/libcxx/utilities/utility/pairs/pairs.pair/non_trivial_copy_move_ABI.pass.cpp
+++ b/test/libcxx/utilities/utility/pairs/pairs.pair/non_trivial_copy_move_ABI.pass.cpp
@@ -6,9 +6,6 @@
//
//===----------------------------------------------------------------------===//
-// The test fails due to the missing is_trivially_constructible intrinsic.
-// XFAIL: gcc-4.9
-
// The test suite needs to define the ABI macros on the command line when
// modules are enabled.
// UNSUPPORTED: -fmodules
diff --git a/test/libcxx/utilities/utility/pairs/pairs.pair/trivial_copy_move_ABI.pass.cpp b/test/libcxx/utilities/utility/pairs/pairs.pair/trivial_copy_move_ABI.pass.cpp
index 1086011..1357157 100644
--- a/test/libcxx/utilities/utility/pairs/pairs.pair/trivial_copy_move_ABI.pass.cpp
+++ b/test/libcxx/utilities/utility/pairs/pairs.pair/trivial_copy_move_ABI.pass.cpp
@@ -6,9 +6,6 @@
//
//===----------------------------------------------------------------------===//
-// The test fails due to the missing is_trivially_constructible intrinsic.
-// XFAIL: gcc-4.9
-
// <utility>
// template <class T1, class T2> struct pair
diff --git a/test/std/experimental/simd/simd.cons/broadcast.pass.cpp b/test/std/experimental/simd/simd.cons/broadcast.pass.cpp
index cf038e3..57a6cd5 100644
--- a/test/std/experimental/simd/simd.cons/broadcast.pass.cpp
+++ b/test/std/experimental/simd/simd.cons/broadcast.pass.cpp
@@ -8,9 +8,6 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// See GCC PR63723.
-// UNSUPPORTED: gcc-4.9
-
// <experimental/simd>
//
// [simd.class]
diff --git a/test/std/experimental/simd/simd.cons/generator.pass.cpp b/test/std/experimental/simd/simd.cons/generator.pass.cpp
index 500ccce..7b7c883 100644
--- a/test/std/experimental/simd/simd.cons/generator.pass.cpp
+++ b/test/std/experimental/simd/simd.cons/generator.pass.cpp
@@ -8,9 +8,6 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// See GCC PR63723.
-// UNSUPPORTED: gcc-4.9
-
// <experimental/simd>
//
// [simd.class]
diff --git a/test/std/iterators/stream.iterators/istream.iterator/types.pass.cpp b/test/std/iterators/stream.iterators/istream.iterator/types.pass.cpp
index 5170b1e..aa00a0d 100644
--- a/test/std/iterators/stream.iterators/istream.iterator/types.pass.cpp
+++ b/test/std/iterators/stream.iterators/istream.iterator/types.pass.cpp
@@ -8,9 +8,6 @@
// <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/test/std/iterators/stream.iterators/istreambuf.iterator/types.pass.cpp b/test/std/iterators/stream.iterators/istreambuf.iterator/types.pass.cpp
index a6c6435..c2f323b 100644
--- a/test/std/iterators/stream.iterators/istreambuf.iterator/types.pass.cpp
+++ b/test/std/iterators/stream.iterators/istreambuf.iterator/types.pass.cpp
@@ -8,9 +8,6 @@
// <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/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp b/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp
index d69c28b..c4e1071 100644
--- a/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp
+++ b/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp
@@ -15,10 +15,6 @@
// (except clang-3.6 which temporarily enabled sized-deallocation)
// UNSUPPORTED: clang, apple-clang
-// NOTE: GCC 4.9.1 does not support sized-deallocation in C++14. However
-// GCC 5.1 does.
-// XFAIL: gcc-4.7, gcc-4.8, gcc-4.9
-
#include <new>
#include <cstddef>
#include <cstdlib>
diff --git a/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp b/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp
index deb17d1..819d62a 100644
--- a/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp
+++ b/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp
@@ -15,10 +15,6 @@
// (except clang-3.6 which temporarily enabled sized-deallocation)
// UNSUPPORTED: clang, apple-clang
-// NOTE: GCC 4.9.1 does not support sized-deallocation in C++14. However
-// GCC 5.1 does.
-// XFAIL: gcc-4.7, gcc-4.8, gcc-4.9
-
#include <new>
#include <cstddef>
#include <cstdlib>
diff --git a/test/std/language.support/support.dynamic/nothrow_t.fail.cpp b/test/std/language.support/support.dynamic/nothrow_t.fail.cpp
index 7fba5e3..78ab087 100644
--- a/test/std/language.support/support.dynamic/nothrow_t.fail.cpp
+++ b/test/std/language.support/support.dynamic/nothrow_t.fail.cpp
@@ -11,7 +11,7 @@
// Before GCC 6, aggregate initialization kicks in.
// See https://stackoverflow.com/q/41799015/627587.
-// UNSUPPORTED: gcc-4, gcc-5
+// UNSUPPORTED: gcc-5
// struct nothrow_t {
// explicit nothrow_t() = default;
diff --git a/test/std/thread/thread.mutex/thread.lock/types.fail.cpp b/test/std/thread/thread.mutex/thread.lock/types.fail.cpp
index ffe14ca..4542c04 100644
--- a/test/std/thread/thread.mutex/thread.lock/types.fail.cpp
+++ b/test/std/thread/thread.mutex/thread.lock/types.fail.cpp
@@ -12,7 +12,7 @@
// Before GCC 6, aggregate initialization kicks in.
// See https://stackoverflow.com/q/41799015/627587.
-// UNSUPPORTED: gcc-4, gcc-5
+// UNSUPPORTED: gcc-5
// <mutex>
diff --git a/test/std/utilities/function.objects/refwrap/type_properties.pass.cpp b/test/std/utilities/function.objects/refwrap/type_properties.pass.cpp
index 17eef26..d8d7544 100644
--- a/test/std/utilities/function.objects/refwrap/type_properties.pass.cpp
+++ b/test/std/utilities/function.objects/refwrap/type_properties.pass.cpp
@@ -13,9 +13,6 @@
// Test that reference wrapper meets the requirements of CopyConstructible and
// CopyAssignable, and TriviallyCopyable (starting in C++14).
-// Test fails due to use of is_trivially_* trait.
-// XFAIL: gcc-4.9 && c++14
-
#include <functional>
#include <type_traits>
#include <string>
diff --git a/test/std/utilities/memory/allocator.tag/allocator_arg.fail.cpp b/test/std/utilities/memory/allocator.tag/allocator_arg.fail.cpp
index a5d5249..fb991d4 100644
--- a/test/std/utilities/memory/allocator.tag/allocator_arg.fail.cpp
+++ b/test/std/utilities/memory/allocator.tag/allocator_arg.fail.cpp
@@ -10,7 +10,7 @@
// Before GCC 6, aggregate initialization kicks in.
// See https://stackoverflow.com/q/41799015/627587.
-// UNSUPPORTED: gcc-4, gcc-5
+// UNSUPPORTED: gcc-5
// <memory>
diff --git a/test/std/utilities/memory/specialized.algorithms/specialized.addressof/constexpr_addressof.pass.cpp b/test/std/utilities/memory/specialized.algorithms/specialized.addressof/constexpr_addressof.pass.cpp
index 2aabf81..ae8a162 100644
--- a/test/std/utilities/memory/specialized.algorithms/specialized.addressof/constexpr_addressof.pass.cpp
+++ b/test/std/utilities/memory/specialized.algorithms/specialized.addressof/constexpr_addressof.pass.cpp
@@ -7,7 +7,7 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// XFAIL: gcc-4, gcc-5, gcc-6
+// XFAIL: gcc-5, gcc-6
// <memory>
diff --git a/test/std/utilities/meta/meta.unary/meta.unary.prop/has_unique_object_representations.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/has_unique_object_representations.pass.cpp
index e6f7012..8202fd7 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/has_unique_object_representations.pass.cpp
+++ b/test/std/utilities/meta/meta.unary/meta.unary.prop/has_unique_object_representations.pass.cpp
@@ -7,7 +7,7 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++98, c++03, c++11, c++14
-// UNSUPPORTED: clang-3, clang-4, clang-5, apple-clang, gcc-4, gcc-5, gcc-6
+// UNSUPPORTED: clang-3, clang-4, clang-5, apple-clang, gcc-5, gcc-6
// type_traits
diff --git a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_assignable.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_assignable.pass.cpp
index 124480c..5113651 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_assignable.pass.cpp
+++ b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_assignable.pass.cpp
@@ -10,8 +10,6 @@
// is_trivially_assignable
-// XFAIL: gcc-4.9
-
#include <type_traits>
#include "test_macros.h"
diff --git a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_assignable.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_assignable.pass.cpp
index 91fbf69..17104f4 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_assignable.pass.cpp
+++ b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_assignable.pass.cpp
@@ -10,8 +10,6 @@
// is_trivially_copy_assignable
-// XFAIL: gcc-4.9
-
#include <type_traits>
#include "test_macros.h"
diff --git a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_constructible.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_constructible.pass.cpp
index 5744d2c..09647c7 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_constructible.pass.cpp
+++ b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_constructible.pass.cpp
@@ -10,8 +10,6 @@
// is_trivially_copy_constructible
-// XFAIL: gcc-4.9
-
#include <type_traits>
#include "test_macros.h"
diff --git a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_assignable.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_assignable.pass.cpp
index 0a91efd..b599ae5 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_assignable.pass.cpp
+++ b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_assignable.pass.cpp
@@ -10,8 +10,6 @@
// is_trivially_move_assignable
-// XFAIL: gcc-4.9
-
#include <type_traits>
#include "test_macros.h"
diff --git a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_constructible.pass.cpp b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_constructible.pass.cpp
index 78c10a1..3503648 100644
--- a/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_constructible.pass.cpp
+++ b/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_constructible.pass.cpp
@@ -10,8 +10,6 @@
// is_trivially_move_constructible
-// XFAIL: gcc-4.9
-
#include <type_traits>
#include "test_macros.h"
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/default.fail.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/default.fail.cpp
index f867a5f..616550f 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/default.fail.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/default.fail.cpp
@@ -10,7 +10,7 @@
// Before GCC 6, aggregate initialization kicks in.
// See https://stackoverflow.com/q/41799015/627587.
-// UNSUPPORTED: gcc-4, gcc-5
+// UNSUPPORTED: gcc-5
// <tuple>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_incomplete.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_incomplete.pass.cpp
index f83ce7f..3062bc7 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_incomplete.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_incomplete.pass.cpp
@@ -14,7 +14,6 @@
// struct tuple_size<tuple<Types...>>
// : public integral_constant<size_t, sizeof...(Types)> { };
-// XFAIL: gcc-4.9
// UNSUPPORTED: c++98, c++03
#include <tuple>
diff --git a/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_value_sfinae.pass.cpp b/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_value_sfinae.pass.cpp
index aad0030..62e584d 100644
--- a/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_value_sfinae.pass.cpp
+++ b/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_value_sfinae.pass.cpp
@@ -14,7 +14,6 @@
// class tuple_size<tuple<Types...>>
// : public integral_constant<size_t, sizeof...(Types)> { };
-// XFAIL: gcc-4.9
// UNSUPPORTED: c++98, c++03
#include <tuple>
diff --git a/test/std/utilities/utility/pairs/pair.piecewise/piecewise_construct_t.fail.cpp b/test/std/utilities/utility/pairs/pair.piecewise/piecewise_construct_t.fail.cpp
index 1ba14ef..b8dd28a 100644
--- a/test/std/utilities/utility/pairs/pair.piecewise/piecewise_construct_t.fail.cpp
+++ b/test/std/utilities/utility/pairs/pair.piecewise/piecewise_construct_t.fail.cpp
@@ -10,7 +10,7 @@
// Before GCC 6, aggregate initialization kicks in.
// See https://stackoverflow.com/q/41799015/627587.
-// UNSUPPORTED: gcc-4, gcc-5
+// UNSUPPORTED: gcc-5
// <utility>
diff --git a/test/std/utilities/utility/pairs/pairs.pair/default.explicit.fail.cpp b/test/std/utilities/utility/pairs/pairs.pair/default.explicit.fail.cpp
index 17478e5..511f21e 100644
--- a/test/std/utilities/utility/pairs/pairs.pair/default.explicit.fail.cpp
+++ b/test/std/utilities/utility/pairs/pairs.pair/default.explicit.fail.cpp
@@ -10,7 +10,7 @@
// Before GCC 6, aggregate initialization kicks in.
// See https://stackoverflow.com/q/41799015/627587.
-// UNSUPPORTED: gcc-4, gcc-5
+// UNSUPPORTED: gcc-5
// <utility>
diff --git a/test/std/utilities/utility/pairs/pairs.pair/default.pass.cpp b/test/std/utilities/utility/pairs/pairs.pair/default.pass.cpp
index 9c53cb8..d214972 100644
--- a/test/std/utilities/utility/pairs/pairs.pair/default.pass.cpp
+++ b/test/std/utilities/utility/pairs/pairs.pair/default.pass.cpp
@@ -12,11 +12,6 @@
// explicit(see-below) 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 (e.g. float).
-// XFAIL: gcc-4.9
-
// NOTE: The SFINAE on the default constructor is tested in
// default-sfinae.pass.cpp
diff --git a/test/std/utilities/utility/pairs/pairs.pair/trivial_copy_move.pass.cpp b/test/std/utilities/utility/pairs/pairs.pair/trivial_copy_move.pass.cpp
index 6841f28..be7c0a8 100644
--- a/test/std/utilities/utility/pairs/pairs.pair/trivial_copy_move.pass.cpp
+++ b/test/std/utilities/utility/pairs/pairs.pair/trivial_copy_move.pass.cpp
@@ -13,9 +13,6 @@
// pair(pair const&) = default;
// pair(pair&&) = default;
-// Doesn't pass due to use of is_trivially_* trait.
-// XFAIL: gcc-4.9
-
#include <utility>
#include <cassert>
diff --git a/test/support/test.workarounds/c1xx_broken_is_trivially_copyable.pass.cpp b/test/support/test.workarounds/c1xx_broken_is_trivially_copyable.pass.cpp
index ef6a82c..24d6869 100644
--- a/test/support/test.workarounds/c1xx_broken_is_trivially_copyable.pass.cpp
+++ b/test/support/test.workarounds/c1xx_broken_is_trivially_copyable.pass.cpp
@@ -8,10 +8,6 @@
// UNSUPPORTED: c++98, c++03
-// This workaround option is specific to MSVC's C1XX, so we don't care that
-// it isn't set for older GCC versions.
-// XFAIL: gcc-4.9
-
// Verify TEST_WORKAROUND_C1XX_BROKEN_IS_TRIVIALLY_COPYABLE.
#include <type_traits>