summaryrefslogtreecommitdiff
path: root/test/SemaCXX/builtin-ptrtomember-overload.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/SemaCXX/builtin-ptrtomember-overload.cpp')
-rw-r--r--test/SemaCXX/builtin-ptrtomember-overload.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/SemaCXX/builtin-ptrtomember-overload.cpp b/test/SemaCXX/builtin-ptrtomember-overload.cpp
index 718e981805aa6..ed52d47f2cda7 100644
--- a/test/SemaCXX/builtin-ptrtomember-overload.cpp
+++ b/test/SemaCXX/builtin-ptrtomember-overload.cpp
@@ -16,3 +16,15 @@ void foo(C c, B b, int A::* 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;
+}
+