[PATCH] D123535: [clang-format] Allow empty .clang-format file

Owen Pan via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Apr 12 17:57:08 PDT 2022


owenpan updated this revision to Diff 422373.
owenpan added a comment.

Updated command line tests.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D123535/new/

https://reviews.llvm.org/D123535

Files:
  clang/lib/Format/Format.cpp
  clang/test/Format/style-on-command-line.cpp


Index: clang/test/Format/style-on-command-line.cpp
===================================================================
--- clang/test/Format/style-on-command-line.cpp
+++ clang/test/Format/style-on-command-line.cpp
@@ -5,7 +5,7 @@
 // RUN: mkdir -p %t
 // RUN: printf "BasedOnStyle: google\nIndentWidth: 5\n" > %t/.clang-format
 // RUN: clang-format -style=file -assume-filename=%t/foo.cpp < %s | FileCheck -strict-whitespace -check-prefix=CHECK5 %s
-// RUN: printf "\n" > %t/.clang-format
+// RUN: printf "Invalid:\n" > %t/.clang-format
 // RUN: not clang-format -style=file -fallback-style=webkit -assume-filename=%t/foo.cpp < %s 2>&1 | FileCheck -strict-whitespace -check-prefix=CHECK6 %s
 // RUN: rm %t/.clang-format
 // RUN: printf "BasedOnStyle: google\nIndentWidth: 6\n" > %t/_clang-format
@@ -20,6 +20,13 @@
 // Test yaml with no based style, and fallback style "none", LLVM formatting applied
 // RUN: clang-format -style="{IndentWidth: 7}" -fallback-style=none %s | FileCheck -strict-whitespace -check-prefix=CHECK11 %s
 
+// Empty config file tests
+// RUN: touch %t/.clang-format
+// RUN: clang-format -style=file -assume-filename=%t/foo.cpp < %s | FileCheck -strict-whitespace -check-prefix=CHECK12 %s
+// RUN: rm %t/.clang-format
+// RUN: printf "\n" > %t/_clang-format
+// RUN: clang-format -style=file -assume-filename=%t/foo.cpp < %s | FileCheck -strict-whitespace -check-prefix=CHECK13 %s
+
 void f() {
 // CHECK1: {{^        int\* i;$}}
 // CHECK2: {{^       int \*i;$}}
@@ -27,12 +34,15 @@
 // CHECK3: Error parsing -style: [[MSG]]
 // CHECK4: Error parsing -style: [[MSG]]
 // CHECK5: {{^     int\* i;$}}
+// CHECK6: unknown key 'Invalid'
 // CHECK6: {{^Error reading .*\.clang-format: (I|i)nvalid argument}}
 // CHECK7: {{^      int\* i;$}}
 // CHECK8: {{^  int\* i;$}}
 // CHECK9: {{^    int \*i;$}}
 // CHECK10: {{^      int \*i;$}}
 // CHECK11: {{^       int \*i;$}}
+// CHECK12: {{^  int \*i;$}}
+// CHECK13: {{^  int \*i;$}}
 int*i;
 int j;
 }
Index: clang/lib/Format/Format.cpp
===================================================================
--- clang/lib/Format/Format.cpp
+++ clang/lib/Format/Format.cpp
@@ -1722,7 +1722,7 @@
   FormatStyle::LanguageKind Language = Style->Language;
   assert(Language != FormatStyle::LK_None);
   if (Config.getBuffer().trim().empty())
-    return make_error_code(ParseError::Error);
+    return make_error_code(ParseError::Success);
   Style->StyleSet.Clear();
   std::vector<FormatStyle> Styles;
   llvm::yaml::Input Input(Config, /*Ctxt=*/nullptr, DiagHandler,


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D123535.422373.patch
Type: text/x-patch
Size: 2532 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20220413/ffad53cd/attachment-0001.bin>


More information about the cfe-commits mailing list