I am Saloni B.Tech.(3rd year), Computer Science and Engineering(CSE) student of Guru Nanak Dev Engineering College, India. I have been selected for Google Summer of Code 2021 to work with Haiku on the project Improvements to clang-format and clang-tidy to format code according to haiku coding guidelines. My mentors are Preetpal Kaur and Adrien Destugues.
Congrats! I have just reviewed some of your work and would like to offer a few tips:
You should rebase your code to my latest (6+ months old though) haiku-format as most of the work you have been doing had already been done there. (See #18, #21, and #22.)
Do not add Haiku-specific style options like I initially did here. Instead, see the much simpler approach I later took.
Take a look at some of my previous work for clang-format to get a feeling for how to fix bugs in, and add features to, clang-format. Pay attention to the test cases added to the test suite as it’s very easy to trigger a regression.
We know of your work but some of it was removed from the current branch because it was not working correctly. For example the code to remove unneeded braces on single-statement if/else would sometime remove braces on multi-statement ones. That’s why it has been replaced by a different implementation that was extracted from a work in progress change in llvm bugtracker (and I think we can use the final version of that when it will be merged on llvm side)
For example the code to remove unneeded braces on single-statement if/else would sometime remove braces on multi-statement ones.
I already removed it in this commit last year based on feedback from korli and then you. See the rationale here.
I also addressed all other issues (except #17) reported by you in subsequent commits. So as of late last year, there were no open issues (other than #17) that warranted further investigation.
That’s why it has been replaced by a different implementation that was extracted from a work in progress change in llvm bugtracker (and I think we can use the final version of that when it will be merged on llvm side)
Are you talking about https://reviews.llvm.org/D95168? But it’s kind of the opposite of removing redundant braces. Anyway, beware that it didn’t get landed after all because it failed when tested against a large code base.