This patch implementa objective-c's @compatibilty-alias declaration.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@42883 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Parse/ParseObjc.cpp b/Parse/ParseObjc.cpp
index dad82ee..bfd6797 100644
--- a/Parse/ParseObjc.cpp
+++ b/Parse/ParseObjc.cpp
@@ -923,15 +923,22 @@
     Diag(Tok, diag::err_expected_ident);
     return 0;
   }
-  ConsumeToken(); // consume alias-name
+  IdentifierInfo *aliasId = Tok.getIdentifierInfo();
+  SourceLocation aliasLoc = ConsumeToken(); // consume alias-name
   if (Tok.isNot(tok::identifier)) {
     Diag(Tok, diag::err_expected_ident);
     return 0;
   }
-  ConsumeToken(); // consume class-name;
-  if (Tok.isNot(tok::semi))
+  IdentifierInfo *classId = Tok.getIdentifierInfo();
+  SourceLocation classLoc = ConsumeToken(); // consume class-name;
+  if (Tok.isNot(tok::semi)) {
     Diag(Tok, diag::err_expected_semi_after, "@compatibility_alias");
-  return 0;
+    return 0;
+  }
+  DeclTy *ClsType = Actions.ActOnCompatiblityAlias(atLoc, 
+                                                   aliasId, aliasLoc,
+                                                   classId, classLoc);
+  return ClsType;
 }
 
 ///   property-synthesis: