// 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