xref: /llvm-project/clang/test/CodeGenCXX/reinterpret-cast.cpp (revision fcd16e36c80ecf929179f5ce085ae0200878139e)
19ca5c425SRichard Smith // RUN: %clang_cc1 -emit-llvm -o - %s -std=c++11
2*fcd16e36SNAKAMURA Takumi // REQUIRES: LP64
3*fcd16e36SNAKAMURA Takumi 
f1(unsigned long l)47cd39e07SAnders Carlsson void *f1(unsigned long l) {
57cd39e07SAnders Carlsson   return reinterpret_cast<void *>(l);
67cd39e07SAnders Carlsson }
77cd39e07SAnders Carlsson 
f2()87cd39e07SAnders Carlsson unsigned long f2() {
97cd39e07SAnders Carlsson   return reinterpret_cast<unsigned long>(nullptr);
107cd39e07SAnders Carlsson }
117cd39e07SAnders Carlsson 
f3(void * p)127cd39e07SAnders Carlsson unsigned long f3(void *p) {
137cd39e07SAnders Carlsson   return reinterpret_cast<unsigned long>(p);
147cd39e07SAnders Carlsson }
1550cb321fSAnders Carlsson 
1650cb321fSAnders Carlsson void f4(int*&);
f5(void * & u)1750cb321fSAnders Carlsson void f5(void*& u) {
1850cb321fSAnders Carlsson   f4(reinterpret_cast<int*&>(u));
1950cb321fSAnders Carlsson }
20