mirror of git://gcc.gnu.org/git/gcc.git
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:
parent
8a7fb87eae
commit
37cfabb0b4
|
|
@ -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>
|
2014-10-15 François Dumont <fdumont@gcc.gnu.org>
|
||||||
Jonathan Wakely <jwakely@redhat.com>
|
Jonathan Wakely <jwakely@redhat.com>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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*&>,
|
||||||
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>(), "");
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue