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