The l_brace of class/struct/union was incorrectly annotated as TT_FunctionLBrace in the presence of attributes. This in turn would cause the RemoveSemicolon option to remove the semicolon at the end of the declaration, resulting in invalid code being generated.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
The upshot of this is better TT_FunctionLBrace/TT_ClassLBrace detection, which is great becuase if a class { or function { is incorrectly detected we are then in unknown territory as to how it might become formatted, since you introduced these Annotator tests, I fell we are really helping to lock down the other rules. I would hazard a guess that this actually solves more issues than we realize.