From 0b08ba44a1ff2b61f5a0c247c4948c830ef31b01 Mon Sep 17 00:00:00 2001 From: Douglas Gregor Date: Fri, 27 Mar 2009 06:00:30 +0000 Subject: If the user is trying to apply the -> or . member reference operator to a function or function pointer, it's probably because the user forgot to put in parentheses () to call the function. llvm-svn: 67826 --- clang/test/SemaCXX/member-expr.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'clang/test/SemaCXX/member-expr.cpp') diff --git a/clang/test/SemaCXX/member-expr.cpp b/clang/test/SemaCXX/member-expr.cpp index 58e5be955f6..60ee10df7f6 100644 --- a/clang/test/SemaCXX/member-expr.cpp +++ b/clang/test/SemaCXX/member-expr.cpp @@ -20,3 +20,14 @@ void test(X* xp, X x) { float f1 = x.g(); float f2 = xp->g(); } + +struct A { + int f0; +}; +struct B { + A *f0(); +}; +int f0(B *b) { + return b->f0->f0; // expected-error{{member reference base type 'struct A *(void)' is not a structure or union}} \ + // expected-note{{perhaps you meant to call this function}} +} -- cgit v1.2.3