diff options
author | Douglas Gregor <dgregor@apple.com> | 2009-03-27 06:00:30 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2009-03-27 06:00:30 +0000 |
commit | 0b08ba44a1ff2b61f5a0c247c4948c830ef31b01 (patch) | |
tree | a1a6152d840fce61e5e1c9278069e8ee84b613b0 /clang/test/SemaCXX/member-expr.cpp | |
parent | 17e28b7a54c60f080ded0a0633a1f5157b6b6e24 (diff) | |
download | bcm5719-llvm-0b08ba44a1ff2b61f5a0c247c4948c830ef31b01.tar.gz bcm5719-llvm-0b08ba44a1ff2b61f5a0c247c4948c830ef31b01.zip |
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
Diffstat (limited to 'clang/test/SemaCXX/member-expr.cpp')
-rw-r--r-- | clang/test/SemaCXX/member-expr.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
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}} +} |