[PATCH] D95168: [clang-format] Add InsertBraces option
Tiago Macarios via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Feb 4 16:35:12 PST 2021
tiagoma marked 5 inline comments as done.
tiagoma added inline comments.
================
Comment at: clang/unittests/Format/FormatTest.cpp:17996
+ format(ForSourceLong, Style));
+}
+
----------------
njames93 wrote:
> MyDeveloperDay wrote:
> > MyDeveloperDay wrote:
> > > MyDeveloperDay wrote:
> > > > are you testing do/while?
> > > whilst people discuss the ethics of modifying the code ;-)
> > >
> > > Can you add some comment based examples
> > >
> > > ```
> > > if (condition) // my test
> > > you_do_you();
> > >
> > > if (condition)
> > > you_do_you(); // my test
> > > ```
> > bonus points..
> >
> > ```
> > if /*condition*/ (condition) /*condition*/
> > /*condition*/ you_do_you(); /*condition*/
> > ```
> Should also add test for chained conditionals just to make sure the semantics of the code doesn't change.
> ```lang=c
> if (A)
> if (B)
> callAB();
> else
> callA();
> else if (B)
> callB();
> else
> call();```
do/while are not supported in it's current form. We would need to change the logic to add more state. I can have a look at it after this patch is accepted.
================
Comment at: clang/unittests/Format/FormatTest.cpp:17996
+ format(ForSourceLong, Style));
+}
+
----------------
tiagoma wrote:
> njames93 wrote:
> > MyDeveloperDay wrote:
> > > MyDeveloperDay wrote:
> > > > MyDeveloperDay wrote:
> > > > > are you testing do/while?
> > > > whilst people discuss the ethics of modifying the code ;-)
> > > >
> > > > Can you add some comment based examples
> > > >
> > > > ```
> > > > if (condition) // my test
> > > > you_do_you();
> > > >
> > > > if (condition)
> > > > you_do_you(); // my test
> > > > ```
> > > bonus points..
> > >
> > > ```
> > > if /*condition*/ (condition) /*condition*/
> > > /*condition*/ you_do_you(); /*condition*/
> > > ```
> > Should also add test for chained conditionals just to make sure the semantics of the code doesn't change.
> > ```lang=c
> > if (A)
> > if (B)
> > callAB();
> > else
> > callA();
> > else if (B)
> > callB();
> > else
> > call();```
> do/while are not supported in it's current form. We would need to change the logic to add more state. I can have a look at it after this patch is accepted.
This specific test will fail by itself, ie:
```
StringRef Test = "if /*condition*/ (condition) /*condition*/\n"
" /*condition*/ you_do_you(); /*condition*/";
verifyFormat(Test);
```
AFAICT it is because test::messUp causes the 2nd and 3rd comment to stay on the same line. I added a variation of the test.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D95168/new/
https://reviews.llvm.org/D95168
More information about the cfe-commits
mailing list