Index: lib/Format/Format.cpp =================================================================== --- lib/Format/Format.cpp +++ lib/Format/Format.cpp @@ -1449,6 +1449,19 @@ // Keep this array sorted, since we are binary searching over it. static constexpr llvm::StringLiteral FoundationIdentifiers[] = { "CGFloat", + "CGPoint", + "CGPointMake", + "CGPointZero", + "CGRect", + "CGRectEdge", + "CGRectInfinite", + "CGRectMake", + "CGRectNull", + "CGRectZero", + "CGSize", + "CGSizeMake", + "CGVector", + "CGVectorMake", "NSAffineTransform", "NSArray", "NSAttributedString", @@ -1497,7 +1510,11 @@ "NSURLQueryItem", "NSUUID", "NSValue", + "UIImage", + "UIView", }; + assert(std::is_sorted(std::begin(FoundationIdentifiers), + std::end(FoundationIdentifiers))); for (auto &Line : AnnotatedLines) { for (FormatToken *FormatTok = Line->First; FormatTok; Index: unittests/Format/FormatTest.cpp =================================================================== --- unittests/Format/FormatTest.cpp +++ unittests/Format/FormatTest.cpp @@ -12108,6 +12108,12 @@ EXPECT_EQ(FormatStyle::LK_ObjC, guessLanguage("foo.h", "@interface Foo\n@end\n")); EXPECT_EQ(FormatStyle::LK_Cpp, guessLanguage("foo", "")); EXPECT_EQ(FormatStyle::LK_ObjC, guessLanguage("foo", "@interface Foo\n@end\n")); + EXPECT_EQ(FormatStyle::LK_ObjC, + guessLanguage("foo.h", "int DoStuff(CGRect rect);\n")); + EXPECT_EQ( + FormatStyle::LK_ObjC, + guessLanguage("foo.h", + "#define MY_POINT_MAKE(x, y) CGPointMake((x), (y));\n")); } TEST_F(FormatTest, GuessLanguageWithCpp11AttributeSpecifiers) {