//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// type_traits
// alignment_of
#include<type_traits>template<classT,unsignedA>voidtest_alignment_of(){static_assert(std::alignment_of<T>::value==A,"");static_assert(std::alignment_of<constT>::value==A,"");static_assert(std::alignment_of<volatileT>::value==A,"");static_assert(std::alignment_of<constvolatileT>::value==A,"");}classClass{public:~Class();};intmain(){test_alignment_of<int&,sizeof(long)==4?4:8>();test_alignment_of<Class,1>();test_alignment_of<int*,sizeof(long)==4?4:8>();test_alignment_of<constint*,sizeof(long)==4?4:8>();test_alignment_of<char[3],1>();test_alignment_of<int,4>();test_alignment_of<double,sizeof(long)==4?4:8>();test_alignment_of<bool,1>();test_alignment_of<unsigned,4>();}