//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// type_traits
// is_signed
#include<type_traits>template<classT>voidtest_is_signed(){static_assert(std::is_signed<T>::value,"");static_assert(std::is_signed<constT>::value,"");static_assert(std::is_signed<volatileT>::value,"");static_assert(std::is_signed<constvolatileT>::value,"");}template<classT>voidtest_is_not_signed(){static_assert(!std::is_signed<T>::value,"");static_assert(!std::is_signed<constT>::value,"");static_assert(!std::is_signed<volatileT>::value,"");static_assert(!std::is_signed<constvolatileT>::value,"");}classClass{public:~Class();};intmain(){test_is_not_signed<void>();test_is_not_signed<int&>();test_is_not_signed<Class>();test_is_not_signed<int*>();test_is_not_signed<constint*>();test_is_not_signed<char[3]>();test_is_not_signed<char[3]>();test_is_not_signed<bool>();test_is_not_signed<unsigned>();test_is_signed<int>();test_is_signed<double>();}