brintos

brintos / llvm-project-archived public Read only

0
0
Text · 726 B · c624c7e Raw
31 lines · cpp
1// RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify %s2// expected-no-diagnostics3 4enum class EC { ec1 };5 6void test0(EC ec) {7  (void)static_cast<bool>(ec);8  (void)static_cast<bool>(EC::ec1);9  (void)static_cast<char>(ec);10  (void)static_cast<char>(EC::ec1);11  (void)static_cast<int>(ec);12  (void)static_cast<int>(EC::ec1);13  (void)static_cast<unsigned long>(ec);14  (void)static_cast<unsigned long>(EC::ec1);15  (void)static_cast<float>(ec);16  (void)static_cast<float>(EC::ec1);17  (void)static_cast<double>(ec);18  (void)static_cast<double>(EC::ec1);19}20 21namespace PR9107 {22  enum E {};23  template <class _Tp> inline _Tp* addressof(_Tp& __x) {24    return (_Tp*)&(char&)__x;25  }26  void test() {27    E a;28    addressof(a);29  }30}31