p9-0x.cpp 726 B

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