//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// type_traits
// is_convertible
#include<type_traits>typedefvoidFunction();typedefcharArray[1];intmain(){{static_assert((std::is_convertible<void,void>::value),"");static_assert((std::is_convertible<constvoid,void>::value),"");static_assert((std::is_convertible<void,constvoid>::value),"");static_assert((std::is_convertible<constvoid,constvoid>::value),"");static_assert((!std::is_convertible<void,Function>::value),"");static_assert((!std::is_convertible<constvoid,Function>::value),"");static_assert((!std::is_convertible<void,Function&>::value),"");static_assert((!std::is_convertible<constvoid,Function&>::value),"");static_assert((!std::is_convertible<void,Function*>::value),"");static_assert((!std::is_convertible<void,Function*const>::value),"");static_assert((!std::is_convertible<constvoid,Function*>::value),"");static_assert((!std::is_convertible<constvoid,Function*const>::value),"");static_assert((!std::is_convertible<void,Array>::value),"");static_assert((!std::is_convertible<void,constArray>::value),"");static_assert((!std::is_convertible<constvoid,Array>::value),"");static_assert((!std::is_convertible<constvoid,constArray>::value),"");static_assert((!std::is_convertible<void,Array&>::value),"");static_assert((!std::is_convertible<void,constArray&>::value),"");static_assert((!std::is_convertible<constvoid,Array&>::value),"");static_assert((!std::is_convertible<constvoid,constArray&>::value),"");static_assert((!std::is_convertible<void,char>::value),"");static_assert((!std::is_convertible<void,constchar>::value),"");static_assert((!std::is_convertible<constvoid,char>::value),"");static_assert((!std::is_convertible<constvoid,constchar>::value),"");static_assert((!std::is_convertible<void,char&>::value),"");static_assert((!std::is_convertible<void,constchar&>::value),"");static_assert((!std::is_convertible<constvoid,char&>::value),"");static_assert((!std::is_convertible<constvoid,constchar&>::value),"");static_assert((!std::is_convertible<void,char*>::value),"");static_assert((!std::is_convertible<void,constchar*>::value),"");static_assert((!std::is_convertible<constvoid,char*>::value),"");static_assert((!std::is_convertible<constvoid,constchar*>::value),"");}{static_assert((!std::is_convertible<Function,void>::value),"");static_assert((!std::is_convertible<Function,constvoid>::value),"");static_assert((!std::is_convertible<Function,Function>::value),"");static_assert((!std::is_convertible<Function,Function&>::value),"");static_assert((!std::is_convertible<Function,Function&>::value),"");static_assert((std::is_convertible<Function,Function*>::value),"");static_assert((std::is_convertible<Function,Function*const>::value),"");static_assert((!std::is_convertible<Function,Array>::value),"");static_assert((!std::is_convertible<Function,constArray>::value),"");static_assert((!std::is_convertible<Function,Array&>::value),"");static_assert((!std::is_convertible<Function,constArray&>::value),"");static_assert((!std::is_convertible<Function,char>::value),"");static_assert((!std::is_convertible<Function,constchar>::value),"");static_assert((!std::is_convertible<Function,char&>::value),"");static_assert((!std::is_convertible<Function,constchar&>::value),"");static_assert((!std::is_convertible<Function,char*>::value),"");static_assert((!std::is_convertible<Function,constcha