<div dir="ltr">Hello Mikael,<div><br></div><div>Did you try again with the removal of the redundant test (D28943)?</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, 20 Jan 2017 at 08:34 Mikael Holmén <<a href="mailto:mikael.holmen@ericsson.com">mikael.holmen@ericsson.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br class="gmail_msg">
<br class="gmail_msg">
On 01/20/2017 02:20 PM, Antonio Maiorano wrote:<br class="gmail_msg">
> Hi Mikael,<br class="gmail_msg">
><br class="gmail_msg">
> Just to be sure, did you build clang-format before running this test?<br class="gmail_msg">
<br class="gmail_msg">
Yes I did. I compiled a clean trunk, ran the test, got the failure.<br class="gmail_msg">
<br class="gmail_msg">
><br class="gmail_msg">
> Possibly related, one of the tests I added was just removed for being<br class="gmail_msg">
> redundant:<br class="gmail_msg">
> <a href="https://reviews.llvm.org/D28943" rel="noreferrer" class="gmail_msg" target="_blank">https://reviews.llvm.org/D28943</a><br class="gmail_msg">
<br class="gmail_msg">
Aha. I can't say I understand what's going on there, I don't even know<br class="gmail_msg">
how to change the default fallback style or what it is :)<br class="gmail_msg">
<br class="gmail_msg">
Regards,<br class="gmail_msg">
<br class="gmail_msg">
Mikael<br class="gmail_msg">
<br class="gmail_msg">
><br class="gmail_msg">
><br class="gmail_msg">
> On Fri, Jan 20, 2017 at 7:50 AM Mikael Holmén<br class="gmail_msg">
> <<a href="mailto:mikael.holmen@ericsson.com" class="gmail_msg" target="_blank">mikael.holmen@ericsson.com</a> <mailto:<a href="mailto:mikael.holmen@ericsson.com" class="gmail_msg" target="_blank">mikael.holmen@ericsson.com</a>>> wrote:<br class="gmail_msg">
><br class="gmail_msg">
>     Hi Antonio,<br class="gmail_msg">
><br class="gmail_msg">
><br class="gmail_msg">
><br class="gmail_msg">
>     The test case<br class="gmail_msg">
><br class="gmail_msg">
><br class="gmail_msg">
><br class="gmail_msg">
>     Clang :: Format/style-on-command-line.cpp<br class="gmail_msg">
><br class="gmail_msg">
><br class="gmail_msg">
><br class="gmail_msg">
>     fails for me since this commit.<br class="gmail_msg">
><br class="gmail_msg">
><br class="gmail_msg">
><br class="gmail_msg">
>     test/Format/style-on-command-line.cpp:40:13: error: expected string not<br class="gmail_msg">
><br class="gmail_msg">
>     found in input<br class="gmail_msg">
><br class="gmail_msg">
>     // CHECK10: {{^    int\* i;$}}<br class="gmail_msg">
><br class="gmail_msg">
>                  ^<br class="gmail_msg">
><br class="gmail_msg">
>     <stdin>:1:1: note: scanning from here<br class="gmail_msg">
><br class="gmail_msg">
>     // RUN: clang-format -style="{BasedOnStyle: Google, IndentWidth: 8}"<br class="gmail_msg">
>     %s |<br class="gmail_msg">
><br class="gmail_msg">
>     ^<br class="gmail_msg">
><br class="gmail_msg">
>     <stdin>:61:16: note: possible intended match here<br class="gmail_msg">
><br class="gmail_msg">
>        // CHECK10: {{^    int\* i;$}}<br class="gmail_msg">
><br class="gmail_msg">
>                     ^<br class="gmail_msg">
><br class="gmail_msg">
><br class="gmail_msg">
><br class="gmail_msg">
>     I suppose it works for you... Any idea what the problem can be?<br class="gmail_msg">
><br class="gmail_msg">
><br class="gmail_msg">
><br class="gmail_msg">
>     Regards,<br class="gmail_msg">
><br class="gmail_msg">
>     Mikael<br class="gmail_msg">
><br class="gmail_msg">
><br class="gmail_msg">
>     On 01/20/2017 02:22 AM, Antonio Maiorano via cfe-commits wrote:<br class="gmail_msg">
><br class="gmail_msg">
>     > Author: amaiorano<br class="gmail_msg">
><br class="gmail_msg">
>     > Date: Thu Jan 19 19:22:42 2017<br class="gmail_msg">
><br class="gmail_msg">
>     > New Revision: 292562<br class="gmail_msg">
><br class="gmail_msg">
>     ><br class="gmail_msg">
><br class="gmail_msg">
>     > URL: <a href="http://llvm.org/viewvc/llvm-project?rev=292562&view=rev" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project?rev=292562&view=rev</a><br class="gmail_msg">
><br class="gmail_msg">
>     > Log:<br class="gmail_msg">
><br class="gmail_msg">
>     > clang-format: fix fallback style set to "none" not always formatting<br class="gmail_msg">
><br class="gmail_msg">
>     ><br class="gmail_msg">
><br class="gmail_msg">
>     > This fixes clang-format not formatting if fallback-style is<br class="gmail_msg">
>     explicitly set to<br class="gmail_msg">
><br class="gmail_msg">
>     > "none", and either a config file is found or YAML is passed in<br class="gmail_msg">
>     without a<br class="gmail_msg">
><br class="gmail_msg">
>     > "BasedOnStyle". With this change, passing "none" in these cases<br class="gmail_msg">
>     will have no<br class="gmail_msg">
><br class="gmail_msg">
>     > affect, and LLVM style will be used as the base style.<br class="gmail_msg">
><br class="gmail_msg">
>     ><br class="gmail_msg">
><br class="gmail_msg">
>     > Differential Revision: <a href="https://reviews.llvm.org/D28844" rel="noreferrer" class="gmail_msg" target="_blank">https://reviews.llvm.org/D28844</a><br class="gmail_msg">
><br class="gmail_msg">
>     ><br class="gmail_msg">
><br class="gmail_msg">
>     > Modified:<br class="gmail_msg">
><br class="gmail_msg">
>     >     cfe/trunk/lib/Format/Format.cpp<br class="gmail_msg">
><br class="gmail_msg">
>     >     cfe/trunk/test/Format/style-on-command-line.cpp<br class="gmail_msg">
><br class="gmail_msg">
>     >     cfe/trunk/unittests/Format/FormatTest.cpp<br class="gmail_msg">
><br class="gmail_msg">
>     ><br class="gmail_msg">
><br class="gmail_msg">
>     > Modified: cfe/trunk/lib/Format/Format.cpp<br class="gmail_msg">
><br class="gmail_msg">
>     > URL:<br class="gmail_msg">
>     <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Format/Format.cpp?rev=292562&r1=292561&r2=292562&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Format/Format.cpp?rev=292562&r1=292561&r2=292562&view=diff</a><br class="gmail_msg">
><br class="gmail_msg">
>     ><br class="gmail_msg">
>     ==============================================================================<br class="gmail_msg">
><br class="gmail_msg">
>     > --- cfe/trunk/lib/Format/Format.cpp (original)<br class="gmail_msg">
><br class="gmail_msg">
>     > +++ cfe/trunk/lib/Format/Format.cpp Thu Jan 19 19:22:42 2017<br class="gmail_msg">
><br class="gmail_msg">
>     > @@ -1888,8 +1888,8 @@ static FormatStyle::LanguageKind getLang<br class="gmail_msg">
><br class="gmail_msg">
>     >  }<br class="gmail_msg">
><br class="gmail_msg">
>     ><br class="gmail_msg">
><br class="gmail_msg">
>     >  llvm::Expected<FormatStyle> getStyle(StringRef StyleName,<br class="gmail_msg">
>     StringRef FileName,<br class="gmail_msg">
><br class="gmail_msg">
>     > -                                     StringRef FallbackStyle,<br class="gmail_msg">
>     StringRef Code,<br class="gmail_msg">
><br class="gmail_msg">
>     > -                                     vfs::FileSystem *FS) {<br class="gmail_msg">
><br class="gmail_msg">
>     > +                                     StringRef FallbackStyleName,<br class="gmail_msg">
><br class="gmail_msg">
>     > +                                     StringRef Code,<br class="gmail_msg">
>     vfs::FileSystem *FS) {<br class="gmail_msg">
><br class="gmail_msg">
>     >    if (!FS) {<br class="gmail_msg">
><br class="gmail_msg">
>     >      FS = vfs::getRealFileSystem().get();<br class="gmail_msg">
><br class="gmail_msg">
>     >    }<br class="gmail_msg">
><br class="gmail_msg">
>     > @@ -1903,9 +1903,9 @@ llvm::Expected<FormatStyle> getStyle(Str<br class="gmail_msg">
><br class="gmail_msg">
>     >        (Code.contains("\n- (") || Code.contains("\n+ (")))<br class="gmail_msg">
><br class="gmail_msg">
>     >      Style.Language = FormatStyle::LK_ObjC;<br class="gmail_msg">
><br class="gmail_msg">
>     ><br class="gmail_msg">
><br class="gmail_msg">
>     > -  // FIXME: If FallbackStyle is explicitly "none", format is<br class="gmail_msg">
>     disabled.<br class="gmail_msg">
><br class="gmail_msg">
>     > -  if (!getPredefinedStyle(FallbackStyle, Style.Language, &Style))<br class="gmail_msg">
><br class="gmail_msg">
>     > -    return make_string_error("Invalid fallback style \"" +<br class="gmail_msg">
>     FallbackStyle.str());<br class="gmail_msg">
><br class="gmail_msg">
>     > +  FormatStyle FallbackStyle = getNoStyle();<br class="gmail_msg">
><br class="gmail_msg">
>     > +  if (!getPredefinedStyle(FallbackStyleName, Style.Language,<br class="gmail_msg">
>     &FallbackStyle))<br class="gmail_msg">
><br class="gmail_msg">
>     > +    return make_string_error("Invalid fallback style \"" +<br class="gmail_msg">
>     FallbackStyleName);<br class="gmail_msg">
><br class="gmail_msg">
>     ><br class="gmail_msg">
><br class="gmail_msg">
>     >    if (StyleName.startswith("{")) {<br class="gmail_msg">
><br class="gmail_msg">
>     >      // Parse YAML/JSON style from the command line.<br class="gmail_msg">
><br class="gmail_msg">
>     > @@ -1977,7 +1977,7 @@ llvm::Expected<FormatStyle> getStyle(Str<br class="gmail_msg">
><br class="gmail_msg">
>     >      return make_string_error("Configuration file(s) do(es) not<br class="gmail_msg">
>     support " +<br class="gmail_msg">
><br class="gmail_msg">
>     >                               getLanguageName(Style.Language) + ": " +<br class="gmail_msg">
><br class="gmail_msg">
>     >                               UnsuitableConfigFiles);<br class="gmail_msg">
><br class="gmail_msg">
>     > -  return Style;<br class="gmail_msg">
><br class="gmail_msg">
>     > +  return FallbackStyle;<br class="gmail_msg">
><br class="gmail_msg">
>     >  }<br class="gmail_msg">
><br class="gmail_msg">
>     ><br class="gmail_msg">
><br class="gmail_msg">
>     >  } // namespace format<br class="gmail_msg">
><br class="gmail_msg">
>     ><br class="gmail_msg">
><br class="gmail_msg">
>     > Modified: cfe/trunk/test/Format/style-on-command-line.cpp<br class="gmail_msg">
><br class="gmail_msg">
>     > URL:<br class="gmail_msg">
>     <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Format/style-on-command-line.cpp?rev=292562&r1=292561&r2=292562&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Format/style-on-command-line.cpp?rev=292562&r1=292561&r2=292562&view=diff</a><br class="gmail_msg">
><br class="gmail_msg">
>     ><br class="gmail_msg">
>     ==============================================================================<br class="gmail_msg">
><br class="gmail_msg">
>     > --- cfe/trunk/test/Format/style-on-command-line.cpp (original)<br class="gmail_msg">
><br class="gmail_msg">
>     > +++ cfe/trunk/test/Format/style-on-command-line.cpp Thu Jan 19<br class="gmail_msg">
>     19:22:42 2017<br class="gmail_msg">
><br class="gmail_msg">
>     > @@ -11,6 +11,21 @@<br class="gmail_msg">
><br class="gmail_msg">
>     >  // RUN: clang-format -style=file -assume-filename=%T/foo.cpp < %s<br class="gmail_msg">
>     | FileCheck -strict-whitespace -check-prefix=CHECK7 %s<br class="gmail_msg">
><br class="gmail_msg">
>     >  // RUN: clang-format -style="{BasedOnStyle: LLVM,<br class="gmail_msg">
>     PointerBindsToType: true}" %s | FileCheck -strict-whitespace<br class="gmail_msg">
>     -check-prefix=CHECK8 %s<br class="gmail_msg">
><br class="gmail_msg">
>     >  // RUN: clang-format -style="{BasedOnStyle: WebKit,<br class="gmail_msg">
>     PointerBindsToType: false}" %s | FileCheck -strict-whitespace<br class="gmail_msg">
>     -check-prefix=CHECK9 %s<br class="gmail_msg">
><br class="gmail_msg">
>     > +<br class="gmail_msg">
><br class="gmail_msg">
>     > +// Fallback style tests<br class="gmail_msg">
><br class="gmail_msg">
>     > +// RUN: rm %T/_clang-format<br class="gmail_msg">
><br class="gmail_msg">
>     > +// Test no config file found, WebKit fallback style is applied<br class="gmail_msg">
><br class="gmail_msg">
>     > +// RUN: clang-format -style=file -fallback-style=WebKit<br class="gmail_msg">
>     -assume-filename=%T/foo.cpp < %s 2>&1 | FileCheck -strict-whitespace<br class="gmail_msg">
>     -check-prefix=CHECK10 %s<br class="gmail_msg">
><br class="gmail_msg">
>     > +// Test no config file and no fallback style, LLVM style is applied<br class="gmail_msg">
><br class="gmail_msg">
>     > +// RUN: clang-format -style=file -assume-filename=%T/foo.cpp < %s<br class="gmail_msg">
>     2>&1 | FileCheck -strict-whitespace -check-prefix=CHECK11 %s<br class="gmail_msg">
><br class="gmail_msg">
>     > +// Test no config file and fallback style "none", no formatting<br class="gmail_msg">
>     is applied<br class="gmail_msg">
><br class="gmail_msg">
>     > +// RUN: clang-format -style=file -fallback-style=none<br class="gmail_msg">
>     -assume-filename=%T/foo.cpp < %s 2>&1 | FileCheck -strict-whitespace<br class="gmail_msg">
>     -check-prefix=CHECK12 %s<br class="gmail_msg">
><br class="gmail_msg">
>     > +// Test config file with no based style, and fallback style<br class="gmail_msg">
>     "none", formatting is applied<br class="gmail_msg">
><br class="gmail_msg">
>     > +// RUN: printf "IndentWidth: 6\n" > %T/_clang-format<br class="gmail_msg">
><br class="gmail_msg">
>     > +// RUN: clang-format -style=file -fallback-style=none<br class="gmail_msg">
>     -assume-filename=%T/foo.cpp < %s 2>&1 | FileCheck -strict-whitespace<br class="gmail_msg">
>     -check-prefix=CHECK13 %s<br class="gmail_msg">
><br class="gmail_msg">
>     > +// Test yaml with no based style, and fallback style "none", LLVM<br class="gmail_msg">
>     formatting applied<br class="gmail_msg">
><br class="gmail_msg">
>     > +// RUN: clang-format -style="{IndentWidth: 7}"<br class="gmail_msg">
>     -fallback-style=none %s | FileCheck -strict-whitespace<br class="gmail_msg">
>     -check-prefix=CHECK14 %s<br class="gmail_msg">
><br class="gmail_msg">
>     > +<br class="gmail_msg">
><br class="gmail_msg">
>     >  void f() {<br class="gmail_msg">
><br class="gmail_msg">
>     >  // CHECK1: {{^        int\* i;$}}<br class="gmail_msg">
><br class="gmail_msg">
>     >  // CHECK2: {{^       int \*i;$}}<br class="gmail_msg">
><br class="gmail_msg">
>     > @@ -22,6 +37,11 @@ void f() {<br class="gmail_msg">
><br class="gmail_msg">
>     >  // CHECK7: {{^      int\* i;$}}<br class="gmail_msg">
><br class="gmail_msg">
>     >  // CHECK8: {{^  int\* i;$}}<br class="gmail_msg">
><br class="gmail_msg">
>     >  // CHECK9: {{^    int \*i;$}}<br class="gmail_msg">
><br class="gmail_msg">
>     > +// CHECK10: {{^    int\* i;$}}<br class="gmail_msg">
><br class="gmail_msg">
>     > +// CHECK11: {{^  int \*i;$}}<br class="gmail_msg">
><br class="gmail_msg">
>     > +// CHECK12: {{^int\*i;$}}<br class="gmail_msg">
><br class="gmail_msg">
>     > +// CHECK13: {{^      int \*i;$}}<br class="gmail_msg">
><br class="gmail_msg">
>     > +// CHECK14: {{^       int \*i;$}}<br class="gmail_msg">
><br class="gmail_msg">
>     >  int*i;<br class="gmail_msg">
><br class="gmail_msg">
>     >  int j;<br class="gmail_msg">
><br class="gmail_msg">
>     >  }<br class="gmail_msg">
><br class="gmail_msg">
>     ><br class="gmail_msg">
><br class="gmail_msg">
>     > Modified: cfe/trunk/unittests/Format/FormatTest.cpp<br class="gmail_msg">
><br class="gmail_msg">
>     > URL:<br class="gmail_msg">
>     <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Format/FormatTest.cpp?rev=292562&r1=292561&r2=292562&view=diff" rel="noreferrer" class="gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Format/FormatTest.cpp?rev=292562&r1=292561&r2=292562&view=diff</a><br class="gmail_msg">
><br class="gmail_msg">
>     ><br class="gmail_msg">
>     ==============================================================================<br class="gmail_msg">
><br class="gmail_msg">
>     > --- cfe/trunk/unittests/Format/FormatTest.cpp (original)<br class="gmail_msg">
><br class="gmail_msg">
>     > +++ cfe/trunk/unittests/Format/FormatTest.cpp Thu Jan 19 19:22:42 2017<br class="gmail_msg">
><br class="gmail_msg">
>     > @@ -10978,13 +10978,31 @@ TEST(FormatStyle, GetStyleOfFile) {<br class="gmail_msg">
><br class="gmail_msg">
>     >    ASSERT_TRUE((bool)Style1);<br class="gmail_msg">
><br class="gmail_msg">
>     >    ASSERT_EQ(*Style1, getLLVMStyle());<br class="gmail_msg">
><br class="gmail_msg">
>     ><br class="gmail_msg">
><br class="gmail_msg">
>     > -  // Test 2: fallback to default.<br class="gmail_msg">
><br class="gmail_msg">
>     > +  // Test 2.1: fallback to default.<br class="gmail_msg">
><br class="gmail_msg">
>     >    ASSERT_TRUE(<br class="gmail_msg">
><br class="gmail_msg">
>     >        FS.addFile("/b/test.cpp", 0,<br class="gmail_msg">
>     llvm::MemoryBuffer::getMemBuffer("int i;")));<br class="gmail_msg">
><br class="gmail_msg">
>     >    auto Style2 = getStyle("file", "/b/test.cpp", "Mozilla", "", &FS);<br class="gmail_msg">
><br class="gmail_msg">
>     >    ASSERT_TRUE((bool)Style2);<br class="gmail_msg">
><br class="gmail_msg">
>     >    ASSERT_EQ(*Style2, getMozillaStyle());<br class="gmail_msg">
><br class="gmail_msg">
>     ><br class="gmail_msg">
><br class="gmail_msg">
>     > +  // Test 2.2: no format on 'none' fallback style.<br class="gmail_msg">
><br class="gmail_msg">
>     > +  Style2 = getStyle("file", "/b/test.cpp", "none", "", &FS);<br class="gmail_msg">
><br class="gmail_msg">
>     > +  ASSERT_TRUE((bool)Style2);<br class="gmail_msg">
><br class="gmail_msg">
>     > +  ASSERT_EQ(*Style2, getNoStyle());<br class="gmail_msg">
><br class="gmail_msg">
>     > +<br class="gmail_msg">
><br class="gmail_msg">
>     > +  // Test 2.3: format if config is found with no based style<br class="gmail_msg">
>     while fallback is<br class="gmail_msg">
><br class="gmail_msg">
>     > +  // 'none'.<br class="gmail_msg">
><br class="gmail_msg">
>     > +  ASSERT_TRUE(FS.addFile("/b/.clang-format", 0,<br class="gmail_msg">
><br class="gmail_msg">
>     > +<br class="gmail_msg">
>      llvm::MemoryBuffer::getMemBuffer("IndentWidth: 2")));<br class="gmail_msg">
><br class="gmail_msg">
>     > +  Style2 = getStyle("file", "/b/test.cpp", "none", "", &FS);<br class="gmail_msg">
><br class="gmail_msg">
>     > +  ASSERT_TRUE((bool)Style2);<br class="gmail_msg">
><br class="gmail_msg">
>     > +  ASSERT_EQ(*Style2, getLLVMStyle());<br class="gmail_msg">
><br class="gmail_msg">
>     > +<br class="gmail_msg">
><br class="gmail_msg">
>     > +  // Test 2.4: format if yaml with no based style, while fallback<br class="gmail_msg">
>     is 'none'.<br class="gmail_msg">
><br class="gmail_msg">
>     > +  Style2 = getStyle("{}", "a.h", "none", "", &FS);<br class="gmail_msg">
><br class="gmail_msg">
>     > +  ASSERT_TRUE((bool)Style2);<br class="gmail_msg">
><br class="gmail_msg">
>     > +  ASSERT_EQ(*Style2, getLLVMStyle());<br class="gmail_msg">
><br class="gmail_msg">
>     > +<br class="gmail_msg">
><br class="gmail_msg">
>     >    // Test 3: format file in parent directory.<br class="gmail_msg">
><br class="gmail_msg">
>     >    ASSERT_TRUE(<br class="gmail_msg">
><br class="gmail_msg">
>     >        FS.addFile("/c/.clang-format", 0,<br class="gmail_msg">
><br class="gmail_msg">
>     ><br class="gmail_msg">
><br class="gmail_msg">
>     ><br class="gmail_msg">
><br class="gmail_msg">
>     > _______________________________________________<br class="gmail_msg">
><br class="gmail_msg">
>     > cfe-commits mailing list<br class="gmail_msg">
><br class="gmail_msg">
>     > <a href="mailto:cfe-commits@lists.llvm.org" class="gmail_msg" target="_blank">cfe-commits@lists.llvm.org</a> <mailto:<a href="mailto:cfe-commits@lists.llvm.org" class="gmail_msg" target="_blank">cfe-commits@lists.llvm.org</a>><br class="gmail_msg">
><br class="gmail_msg">
>     > <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br class="gmail_msg">
><br class="gmail_msg">
>     ><br class="gmail_msg">
><br class="gmail_msg">
<br class="gmail_msg">
</blockquote></div>