benhamilton added a subscriber: krasimir.
benhamilton added a comment.

@krasimir, can you answer @djasper's question about hash set vs. binary search?



================
Comment at: lib/Format/Format.cpp:1450
     // Keep this array sorted, since we are binary searching over it.
     static constexpr llvm::StringLiteral FoundationIdentifiers[] = {
         "CGFloat",
----------------
jolesiak wrote:
> djasper wrote:
> > I have concerns about this growing lists of things. Specifically:
> > - Keeping it sorted is a maintenance concern.
> > - Doing binary search for basically every identifier in a header seems an 
> > unnecessary waste.
> > 
> > Could we just create a hash set of these?
> It was a hash set initially: D42135
> Changed in: D42189
Happy to do whatever folks recommend; I assume @krasimir's concern in D42189 
was the startup cost of creating the (read-only) hash set.

We can automate keeping this sorted with an `arc lint` check, they're quite 
easy to write:

https://secure.phabricator.com/book/phabricator/article/arcanist_lint/


================
Comment at: unittests/Format/FormatTest.cpp:12099
   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(
----------------
djasper wrote:
> jolesiak wrote:
> > I know that it's violated in several places in this file (even in two of 
> > the three lines above), but I feel like we should keep 80 char limit for 
> > column width.
> Agreed. Please format this file with clang-format.
Oops! Fixed. (Should we put in an `arc lint` check that code is correctly 
`clang-format`ted?)


Repository:
  rC Clang

https://reviews.llvm.org/D44632



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to