//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// type_traits
// make_unsigned
#include<type_traits>enumEnum{zero,one_};enumBigEnum{bzero,big=0xFFFFFFFFFFFFFFFFULL};intmain(){static_assert((std::is_same<std::make_unsigned<signedchar>::type,unsignedchar>::value),"");static_assert((std::is_same<std::make_unsigned<unsignedchar>::type,unsignedchar>::value),"");static_assert((std::is_same<std::make_unsigned<char>::type,unsignedchar>::value),"");static_assert((std::is_same<std::make_unsigned<short>::type,unsignedshort>::value),"");static_assert((std::is_same<std::make_unsigned<unsignedshort>::type,unsignedshort>::value),"");static_assert((std::is_same<std::make_unsigned<int>::type,unsignedint>::value),"");static_assert((std::is_same<std::make_unsigned<unsignedint>::type,unsignedint>::value),"");static_assert((std::is_same<std::make_unsigned<long>::type,unsignedlong>::value),"");static_assert((std::is_same<std::make_unsigned<unsignedlong>::type,unsignedlong>::value),"");static_assert((std::is_same<std::make_unsigned<longlong>::type,unsignedlonglong>::value),"");static_assert((std::is_same<std::make_unsigned<unsignedlonglong>::type,unsignedlonglong>::value),"");static_assert((std::is_same<std::make_unsigned<wchar_t>::type,unsignedint>::value),"");static_assert((std::is_same<std::make_unsigned<constwchar_t>::type,constunsignedint>::value),"");static_assert((std::is_same<std::make_unsigned<constEnum>::type,constunsignedint>::value),"");static_assert((std::is_same<std::make_unsigned<BigEnum>::type,std::conditional<sizeof(long)==4,unsignedlonglong,unsignedlong>::type>::value),"");}