From 1e43d9521f2d8f87156046d550351aafc5db6e5d Mon Sep 17 00:00:00 2001 From: Nick Lewycky Date: Wed, 21 Aug 2013 19:09:44 +0000 Subject: Fix the end sourcelocation of the call expression in a member access when recovering by adding empty parenthesis. Fixes PR16676! llvm-svn: 188920 --- clang/test/SemaCXX/member-expr.cpp | 10 ++++++++++ 1 file changed, 10 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 cd8951f5f12..239aecff815 100644 --- a/clang/test/SemaCXX/member-expr.cpp +++ b/clang/test/SemaCXX/member-expr.cpp @@ -214,3 +214,13 @@ namespace PR15045 { call_func(f); // expected-note {{in instantiation of function template specialization 'PR15045::call_func' requested here}} } } + +namespace pr16676 { + struct S { int i; }; + struct T { S* get_s(); }; + int f(S* s) { + T t; + return t.get_s // expected-error {{reference to non-static member function must be called; did you mean to call it with no arguments?}} + .i; // expected-error {{member reference type 'pr16676::S *' is a pointer; maybe you meant to use '->'}} + } +} -- cgit v1.2.3