// RUN: %clang_cc1 -fsyntax-only -verify %s -std=c++11 | |
// expected-no-diagnostics | |
struct A {}; | |
struct B { | |
operator A*(); | |
}; | |
struct C : B { | |
}; | |
void foo(C c, B b, int A::* pmf) { | |
int j = c->*pmf; | |
int i = b->*pmf; | |
} | |
struct D { | |
operator const D *(); | |
}; | |
struct DPtr { | |
operator volatile int D::*(); | |
}; | |
int test(D d, DPtr dptr) { | |
return d->*dptr; | |
} | |