Fix the type of predefined identifiers like __func__.  Patch by
Eli Friedman!



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45906 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/AST/Expr.cpp b/AST/Expr.cpp
index e2f6c62..61b02c3 100644
--- a/AST/Expr.cpp
+++ b/AST/Expr.cpp
@@ -372,6 +372,8 @@
     return LV_Valid;
   case ObjCIvarRefExprClass: // ObjC instance variables are lvalues.
     return LV_Valid;
+  case PreDefinedExprClass:
+    return LV_Valid;
   default:
     break;
   }
@@ -430,6 +432,8 @@
   }
   case ArraySubscriptExprClass:
     return cast<ArraySubscriptExpr>(this)->getBase()->hasStaticStorage();
+  case PreDefinedExprClass:
+    return true;
   }
 }