]> granicus.if.org Git - clang/commitdiff
[clang-format][TableGen] Don't add spaces around items in square braces.
authorJordan Rupprecht <rupprecht@google.com>
Fri, 1 Mar 2019 00:12:18 +0000 (00:12 +0000)
committerJordan Rupprecht <rupprecht@google.com>
Fri, 1 Mar 2019 00:12:18 +0000 (00:12 +0000)
Summary:
clang-formatting wants to add spaces around items in square braces, e.g. [1, 2] -> [ 1, 2 ]. Based on a quick check [1], it seems like most cases are using the [1, 2] format, so make that the consistent one.

[1] in llvm `.td` files, the regex `\[[^ ]` (bracket followed by not-a-space) shows up ~400 times, but `\[\s[^ ]` (bracket followed by one space and one not-a-space) shows up ~40 times => ~90% uses this format.

Reviewers: djasper, krasimir, MyDeveloperDay

Reviewed By: MyDeveloperDay

Subscribers: MyDeveloperDay, arphaman, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D55964

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@355158 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Format/Format.cpp
unittests/Format/FormatTestTableGen.cpp

index d8751a36d7a0d9a0ff792c1412e47b2410ce80aa..1827c4a8b17b595ae64593298a9f88c705ee88fe 100644 (file)
@@ -718,6 +718,11 @@ FormatStyle getLLVMStyle(FormatStyle::LanguageKind Language) {
   LLVMStyle.StatementMacros.push_back("Q_UNUSED");
   LLVMStyle.StatementMacros.push_back("QT_REQUIRE_VERSION");
 
+  // Defaults that differ when not C++.
+  if (Language == FormatStyle::LK_TableGen) {
+    LLVMStyle.SpacesInContainerLiterals = false;
+  }
+
   return LLVMStyle;
 }
 
index b3771f6d812b40c961a5ab6aba32d09cbed085d3..06029bd8c725fc7b24d561c6c1af6ee1fef595fa 100644 (file)
@@ -51,5 +51,9 @@ TEST_F(FormatTestTableGen, FormatStringBreak) {
                "               \"very long help string\">;\n");
 }
 
+TEST_F(FormatTestTableGen, NoSpacesInSquareBracketLists) {
+  verifyFormat("def flag : Flag<[\"-\", \"--\"], \"foo\">;\n");
+}
+
 } // namespace format
 } // end namespace clang