// RUN: %clang_cc1 -fsyntax-only -verify %s
// REQUIRES: LP64
;
// ----------- const_cast --------------
typedef char c;
typedef c *cp;
typedef cp *cpp;
typedef cpp *cppp;
typedef cppp &cpppr;
typedef const cppp &cpppcr;
typedef const char cc;
typedef cc *ccp;
typedef volatile ccp ccvp;
typedef ccvp *ccvpp;
typedef const volatile ccvpp ccvpcvp;
typedef ccvpcvp *ccvpcvpp;
typedef int iar;
typedef iar &iarr;
typedef int ;
void
// ----------- static_cast -------------
; // Single public base.
; // Single virtual base.
;
; // Diamond
; // Single private base.
; // Single path to B with virtual.
;
;
; // Ambiguous path to B.
;
;
;
;
;
;
// Explicit implicits
void
// Anything to void
void
// Static downcasts
void
// Enum conversions
void
// Void pointer to object pointer
void
// Member pointer upcast.
void
// -------- reinterpret_cast -----------
;
;
typedef void ;
// Test conversion between pointer and integral types, as in p3 and p4.
void
void
void
void
void
void