1// { dg-do run } 2// Test of various ?: problems. 3 4class D 5{ 6public: 7 void a(); 8 void b(); 9 D(int i):x(i) {} 10private: 11 int x; 12}; 13 14void D::a() {++x;} 15void D::b() {--x;} 16 17 18int aa=1, bb=0; 19 20int fa() {return 0;} 21int fb() {return 2;} 22 23int main(int argc, char* argv[]) 24{ 25 typedef int* pi; 26 int* p = (argc == 1)? &aa: &bb; 27 *p = 0; 28 29 typedef int (*ifptr)(); 30 ifptr fp = (argc == 1)? fa: fb; 31 aa = fp(); 32 33 D d(0); 34 typedef void (D::*dmem)(); 35 dmem mfp = (argc == 1)? &D::a: &D::b; 36 (d.*mfp)(); 37 return 0; 38} 39