31 lines
726 B
C++
31 lines
726 B
C++
|
// RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify %s
|
||
|
// expected-no-diagnostics
|
||
|
|
||
|
enum class EC { ec1 };
|
||
|
|
||
|
void test0(EC ec) {
|
||
|
(void)static_cast<bool>(ec);
|
||
|
(void)static_cast<bool>(EC::ec1);
|
||
|
(void)static_cast<char>(ec);
|
||
|
(void)static_cast<char>(EC::ec1);
|
||
|
(void)static_cast<int>(ec);
|
||
|
(void)static_cast<int>(EC::ec1);
|
||
|
(void)static_cast<unsigned long>(ec);
|
||
|
(void)static_cast<unsigned long>(EC::ec1);
|
||
|
(void)static_cast<float>(ec);
|
||
|
(void)static_cast<float>(EC::ec1);
|
||
|
(void)static_cast<double>(ec);
|
||
|
(void)static_cast<double>(EC::ec1);
|
||
|
}
|
||
|
|
||
|
namespace PR9107 {
|
||
|
enum E {};
|
||
|
template <class _Tp> inline _Tp* addressof(_Tp& __x) {
|
||
|
return (_Tp*)&(char&)__x;
|
||
|
}
|
||
|
void test() {
|
||
|
E a;
|
||
|
addressof(a);
|
||
|
}
|
||
|
}
|