Improve declaration / expression disambiguation around ptr-operators, and use
the presence of an abstract declarator with a ptr-operator as proof that a
construct cannot parse as an expression to improve diagnostics along error
recovery paths.

llvm-svn: 230261
diff --git a/clang/test/Parser/cxx-variadic-func.cpp b/clang/test/Parser/cxx-variadic-func.cpp
index 98a34d3..c0fad95 100644
--- a/clang/test/Parser/cxx-variadic-func.cpp
+++ b/clang/test/Parser/cxx-variadic-func.cpp
@@ -1,8 +1,7 @@
 // RUN: %clang_cc1 -fsyntax-only -verify %s
 
 void f(...) {
-  // FIXME: There's no disambiguation here; this is unambiguous.
-  int g(int(...)); // expected-warning {{disambiguated}} expected-note {{paren}}
+  int g(int(...)); // no warning, unambiguously a function declaration
 }
 
 void h(int n..., int m); // expected-error {{expected ')'}} expected-note {{to match}}