Teach tentative parsing to handle block pointers (rdar://6394309)


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59853 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Parse/ParseTentative.cpp b/lib/Parse/ParseTentative.cpp
index ccaae6d..3c50884 100644
--- a/lib/Parse/ParseTentative.cpp
+++ b/lib/Parse/ParseTentative.cpp
@@ -399,7 +399,8 @@
   //   ptr-operator declarator
 
   while (1) {
-    if (Tok.is(tok::star) || Tok.is(tok::amp)) {
+    if (Tok.is(tok::star) || Tok.is(tok::amp) || 
+        (Tok.is(tok::caret) && getLang().Blocks)) {
       // ptr-operator
       ConsumeToken();
       while (Tok.is(tok::kw_const)    ||