Commit 37cfabb0 by Daniel Kruegler Committed by Paolo Carlini

re PR c++/53000 (Conditional operator does not behave as standardized)

2014-10-15  Daniel Krugler  <daniel.kruegler@gmail.com>

	* testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
	Enable tests predicated on PR c++/53000.

From-SVN: r216287
parent 8a7fb87e
2014-10-15 Daniel Krugler <daniel.kruegler@gmail.com>
* testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
Enable tests predicated on PR c++/53000.
2014-10-15 François Dumont <fdumont@gcc.gnu.org> 2014-10-15 François Dumont <fdumont@gcc.gnu.org>
Jonathan Wakely <jwakely@redhat.com> Jonathan Wakely <jwakely@redhat.com>
......
...@@ -21,9 +21,6 @@ ...@@ -21,9 +21,6 @@
#include <type_traits> #include <type_traits>
#include <initializer_list> #include <initializer_list>
//TODO: Uncomment this once gcc bug 53000 has been resolved:
//#define HAS_53000_FIXED
// Helper types: // Helper types:
struct has_type_impl struct has_type_impl
{ {
...@@ -246,15 +243,17 @@ static_assert(is_type<std::common_type<UConv1, const Abstract*&>, ...@@ -246,15 +243,17 @@ static_assert(is_type<std::common_type<UConv1, const Abstract*&>,
static_assert(is_type<std::common_type<UConv1, UConv2>, Abstract*>(), ""); static_assert(is_type<std::common_type<UConv1, UConv2>, Abstract*>(), "");
static_assert(is_type<std::common_type<UConv1&, UConv2&>, Abstract*>(), ""); static_assert(is_type<std::common_type<UConv1&, UConv2&>, Abstract*>(), "");
#ifdef HAS_53000_FIXED
static_assert(is_type<std::common_type<Abstract&&, Abstract&&>, static_assert(is_type<std::common_type<Abstract&&, Abstract&&>,
Abstract>(), ""); Abstract>(), "");
static_assert(is_type<std::common_type<const Abstract&&, static_assert(is_type<std::common_type<const Abstract&&,
const Abstract&&>, Abstract>(), "");
static_assert(is_type<std::common_type<volatile Abstract&&,
volatile Abstract&&>, Abstract>(), ""); volatile Abstract&&>, Abstract>(), "");
static_assert(is_type<std::common_type<Ukn&&, Ukn&&>, Ukn>(), ""); static_assert(is_type<std::common_type<Ukn&&, Ukn&&>, Ukn>(), "");
static_assert(is_type<std::common_type<const Ukn&&, volatile Ukn&&>, static_assert(is_type<std::common_type<const Ukn&&, const Ukn&&>,
Ukn>(), "");
static_assert(is_type<std::common_type<volatile Ukn&&, volatile Ukn&&>,
Ukn>(), ""); Ukn>(), "");
#endif
static_assert(is_type<std::common_type<X1, X2>, RX12>(), ""); static_assert(is_type<std::common_type<X1, X2>, RX12>(), "");
static_assert(is_type<std::common_type<X2, X1>, RX21>(), ""); static_assert(is_type<std::common_type<X2, X1>, RX21>(), "");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment