aboutsummaryrefslogtreecommitdiff
path: root/test/Parser/cxx-parse-member-pointer-op.cpp
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2009-10-23 21:01:39 +0000
committerFariborz Jahanian <fjahanian@apple.com>2009-10-23 21:01:39 +0000
commitf071e9b173dbaf97b00849c309a97c5aa3c49ae9 (patch)
treee8897a254a522a6bd99f0566842ea497f5e251f5 /test/Parser/cxx-parse-member-pointer-op.cpp
parent2cf719c3c3d805f630dfc6b1255e52647820888e (diff)
Diagnose misuse of '.*' and '->*' operators during parse
instead of crashing in code gen. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84968 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Parser/cxx-parse-member-pointer-op.cpp')
-rw-r--r--test/Parser/cxx-parse-member-pointer-op.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/Parser/cxx-parse-member-pointer-op.cpp b/test/Parser/cxx-parse-member-pointer-op.cpp
new file mode 100644
index 0000000000..cc2e8b142f
--- /dev/null
+++ b/test/Parser/cxx-parse-member-pointer-op.cpp
@@ -0,0 +1,13 @@
+// RUN: clang-cc -fsyntax-only -pedantic -verify %s
+
+struct C {};
+
+typedef void (C::*pmfc)();
+
+void g(pmfc) {
+ C *c;
+ c->*pmfc(); // expected-error {{invalid use of pointer to member type after '->*'}}
+ C c1;
+ c1.*pmfc(); // expected-error {{invalid use of pointer to member type after '.*'}}
+}
+