Add a test that checks that the formatter doesn't discard '@' with ObjC1 set.

Also set ObjC1 in the formatter tests.

The only effect of this flag in the lexer is that '@' now gets turned into
tok::at instead of tok::unknown.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171742 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp
index 2d6a142..3a67e2d 100644
--- a/unittests/Format/FormatTest.cpp
+++ b/unittests/Format/FormatTest.cpp
@@ -29,6 +29,7 @@
     LangOptions LangOpts;
     LangOpts.CPlusPlus = 1;
     LangOpts.CPlusPlus11 = 1;
+    LangOpts.ObjC1 = 1;
     Lexer Lex(ID, Context.Sources.getBuffer(ID), Context.Sources, LangOpts);
     tooling::Replacements Replace = reformat(Style, Lex, Context.Sources,
                                              Ranges);
@@ -1020,5 +1021,10 @@
           "outRange8:(NSRange) out_range8  outRange9:(NSRange) out_range9;"));
 }
 
+TEST_F(FormatTest, DoNotDropAt) {
+  verifyFormat("@interface");
+  verifyFormat("@dynamic");
+}
+
 } // end namespace tooling
 } // end namespace clang