cxx-casting.cpp revision 5f016e2cb5d11daeb237544de1c5d59f20fe1a6e
15f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer// RUN: clang -fsyntax-only %s 25f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer// XFAIL: * 35f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer 45f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencerchar *const_cast_test(const char *var) 55f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer{ 65f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer return const_cast<char*>(var); 75f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer} 85f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer 95f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer#if 0 105f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer// FIXME: Uncomment when C++ is supported more. 115f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencerstruct A { 125f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer virtual ~A() {} 135f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer}; 145f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer 155f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencerstruct B : public A { 165f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer}; 175f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer 185f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencerstruct B *dynamic_cast_test(struct A *a) 195f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer{ 205f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer return dynamic_cast<struct B*>(a); 215f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer} 225f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer#endif 235f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer 245f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencerchar *reinterpret_cast_test() 255f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer{ 265f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer return reinterpret_cast<char*>(0xdeadbeef); 275f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer} 285f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer 295f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencerdouble static_cast_test(int i) 305f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer{ 315f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer return static_cast<double>(i); 325f016e2cb5d11daeb237544de1c5d59f20fe1a6eReid Spencer} 33