//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// type_traits
// remove_const
#include<type_traits>template<classT,classU>voidtest_remove_const_imp(){static_assert((std::is_same<typenamestd::remove_const<T>::type,U>::value),"");}template<classT>voidtest_remove_const(){test_remove_const_imp<T,T>();test_remove_const_imp<constT,T>();test_remove_const_imp<volatileT,volatileT>();test_remove_const_imp<constvolatileT,volatileT>();}intmain(){test_remove_const<void>();test_remove_const<int>();test_remove_const<int[3]>();test_remove_const<int&>();test_remove_const<constint&>();test_remove_const<int*>();test_remove_const<constint*>();}