1*3b65ed0aSDouglas Gregor // RUN: %clang_cc1 %s -emit-llvm -o - -chain-include %s -chain-include %s 2*3b65ed0aSDouglas Gregor 3*3b65ed0aSDouglas Gregor #if !defined(PASS1) 4*3b65ed0aSDouglas Gregor #define PASS1 5*3b65ed0aSDouglas Gregor struct X { 6*3b65ed0aSDouglas Gregor operator int*(); 7*3b65ed0aSDouglas Gregor }; 8*3b65ed0aSDouglas Gregor 9*3b65ed0aSDouglas Gregor struct Z { 10*3b65ed0aSDouglas Gregor operator int*(); 11*3b65ed0aSDouglas Gregor }; 12*3b65ed0aSDouglas Gregor #elif !defined(PASS2) 13*3b65ed0aSDouglas Gregor #define PASS2 14*3b65ed0aSDouglas Gregor struct Y { 15*3b65ed0aSDouglas Gregor operator int *(); 16*3b65ed0aSDouglas Gregor }; 17*3b65ed0aSDouglas Gregor #else main()18*3b65ed0aSDouglas Gregorint main() { 19*3b65ed0aSDouglas Gregor X x; 20*3b65ed0aSDouglas Gregor int *ip = x.operator int*(); 21*3b65ed0aSDouglas Gregor Y y; 22*3b65ed0aSDouglas Gregor int *ip2 = y.operator int*(); 23*3b65ed0aSDouglas Gregor Z z; 24*3b65ed0aSDouglas Gregor int *ip3 = z.operator int*(); 25*3b65ed0aSDouglas Gregor } 26*3b65ed0aSDouglas Gregor #endif 27