27 lines
390 B
C++
27 lines
390 B
C++
|
// RUN: %clang_cc1 %s -emit-llvm -o - -chain-include %s -chain-include %s
|
||
|
|
||
|
#if !defined(PASS1)
|
||
|
#define PASS1
|
||
|
struct X {
|
||
|
operator int*();
|
||
|
};
|
||
|
|
||
|
struct Z {
|
||
|
operator int*();
|
||
|
};
|
||
|
#elif !defined(PASS2)
|
||
|
#define PASS2
|
||
|
struct Y {
|
||
|
operator int *();
|
||
|
};
|
||
|
#else
|
||
|
int main() {
|
||
|
X x;
|
||
|
int *ip = x.operator int*();
|
||
|
Y y;
|
||
|
int *ip2 = y.operator int*();
|
||
|
Z z;
|
||
|
int *ip3 = z.operator int*();
|
||
|
}
|
||
|
#endif
|