diff options
author | Paul Hoad <mydeveloperday@gmail.com> | 2019-09-18 19:11:40 +0000 |
---|---|---|
committer | Paul Hoad <mydeveloperday@gmail.com> | 2019-09-18 19:11:40 +0000 |
commit | a767a0688b096f4c8188a484f08a3f77bab0ce73 (patch) | |
tree | a0a60c615fa043c366aaa4db9f83aa4306be172b /clang/lib/Format | |
parent | 533434fc728ad457533fac2c8c4ef7b8906dd05e (diff) | |
download | bcm5719-llvm-a767a0688b096f4c8188a484f08a3f77bab0ce73.tar.gz bcm5719-llvm-a767a0688b096f4c8188a484f08a3f77bab0ce73.zip |
[clang-format][PR41899] PointerAlignment: Left leads to useless space in lambda intializer expression
Summary:
https://bugs.llvm.org/show_bug.cgi?id=41899
```auto lambda = [&a = a]() { a = 2; };```
is formatted as
```auto lambda = [& a = a]() { a = 2; };```
With an extra space if PointerAlignment is set to Left
> The space "& a" looks strange when there is no type in the lambda's intializer expression. This can be worked around with by setting "PointerAlignment: Right", but ideally "PointerAlignment: Left" would not add a space in this case.
Reviewers: klimek, owenpan, krasimir, timwoj
Reviewed By: klimek
Subscribers: cfe-commits
Tags: #clang-tools-extra, #clang
Differential Revision: https://reviews.llvm.org/D67718
llvm-svn: 372249
Diffstat (limited to 'clang/lib/Format')
-rw-r--r-- | clang/lib/Format/TokenAnnotator.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index 9802711834e..e584eec368d 100644 --- a/clang/lib/Format/TokenAnnotator.cpp +++ b/clang/lib/Format/TokenAnnotator.cpp @@ -2580,7 +2580,8 @@ bool TokenAnnotator::spaceRequiredBetween(const AnnotatedLine &Line, (Style.PointerAlignment != FormatStyle::PAS_Right && !Line.IsMultiVariableDeclStmt) && Left.Previous && - !Left.Previous->isOneOf(tok::l_paren, tok::coloncolon)); + !Left.Previous->isOneOf(tok::l_paren, tok::coloncolon, + tok::l_square)); if (Right.is(tok::star) && Left.is(tok::l_paren)) return false; const auto SpaceRequiredForArrayInitializerLSquare = |