p9-0x.cpp revision 762bb9d0ad20320b9f97a841dce57ba5e8e48b07
1// RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify %s 2 3enum class EC { ec1 }; 4 5void test0(EC ec) { 6 (void)static_cast<bool>(ec); 7 (void)static_cast<bool>(EC::ec1); 8 (void)static_cast<char>(ec); 9 (void)static_cast<char>(EC::ec1); 10 (void)static_cast<int>(ec); 11 (void)static_cast<int>(EC::ec1); 12 (void)static_cast<unsigned long>(ec); 13 (void)static_cast<unsigned long>(EC::ec1); 14 (void)static_cast<float>(ec); 15 (void)static_cast<float>(EC::ec1); 16 (void)static_cast<double>(ec); 17 (void)static_cast<double>(EC::ec1); 18} 19 20namespace PR9107 { 21 enum E {}; 22 template <class _Tp> inline _Tp* addressof(_Tp& __x) { 23 return (_Tp*)&(char&)__x; 24 } 25 void test() { 26 E a; 27 addressof(a); 28 } 29} 30