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
This commit is contained in:
Daniel Kruegler 2014-10-15 21:08:59 +00:00 committed by Paolo Carlini
parent 8a7fb87eae
commit 37cfabb0b4
2 changed files with 10 additions and 6 deletions

View File

@ -1,3 +1,8 @@
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>
Jonathan Wakely <jwakely@redhat.com>

View File

@ -21,9 +21,6 @@
#include <type_traits>
#include <initializer_list>
//TODO: Uncomment this once gcc bug 53000 has been resolved:
//#define HAS_53000_FIXED
// Helper types:
struct has_type_impl
{
@ -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*>(), "");
#ifdef HAS_53000_FIXED
static_assert(is_type<std::common_type<Abstract&&, Abstract&&>,
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>(), "");
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>(), "");
#endif
static_assert(is_type<std::common_type<X1, X2>, RX12>(), "");
static_assert(is_type<std::common_type<X2, X1>, RX21>(), "");