diff options
author | Daniel Jasper <djasper@google.com> | 2014-07-09 13:07:57 +0000 |
---|---|---|
committer | Daniel Jasper <djasper@google.com> | 2014-07-09 13:07:57 +0000 |
commit | 85bcadcdc6282c0e054c45d217e1ba64653e6a66 (patch) | |
tree | f719f6ffb1be195695111388d3e239cc21b481ea /clang/lib/Format | |
parent | b44143f496a8b406e1a77d8f927685d2308f8809 (diff) | |
download | bcm5719-llvm-85bcadcdc6282c0e054c45d217e1ba64653e6a66.tar.gz bcm5719-llvm-85bcadcdc6282c0e054c45d217e1ba64653e6a66.zip |
clang-format: Fix behavior around pointer-to-member invocations.
Before:
(aaaaaaaaaa->*
bbbbbbb)(aaaaaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaaa));
After:
(aaaaaaaaaa->*bbbbbbb)(
aaaaaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaaa));
llvm-svn: 212617
Diffstat (limited to 'clang/lib/Format')
-rw-r--r-- | clang/lib/Format/FormatToken.h | 2 | ||||
-rw-r--r-- | clang/lib/Format/TokenAnnotator.cpp | 7 |
2 files changed, 5 insertions, 4 deletions
diff --git a/clang/lib/Format/FormatToken.h b/clang/lib/Format/FormatToken.h index d83804e2e04..c376c500955 100644 --- a/clang/lib/Format/FormatToken.h +++ b/clang/lib/Format/FormatToken.h @@ -324,7 +324,7 @@ struct FormatToken { /// \brief Returns \c true if this is a "." or "->" accessing a member. bool isMemberAccess() const { - return isOneOf(tok::arrow, tok::period) && + return isOneOf(tok::arrow, tok::period, tok::arrowstar) && Type != TT_DesignatedInitializerPeriod; } diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index 56aa384e744..afa9840619e 100644 --- a/clang/lib/Format/TokenAnnotator.cpp +++ b/clang/lib/Format/TokenAnnotator.cpp @@ -1801,12 +1801,13 @@ bool TokenAnnotator::canBreakBefore(const AnnotatedLine &Line, return true; if (Left.Type == TT_ArrayInitializerLSquare) return true; - return (Left.isBinaryOperator() && Left.isNot(tok::lessless) && + return (Left.isBinaryOperator() && + !Left.isOneOf(tok::arrowstar, tok::lessless) && !Style.BreakBeforeBinaryOperators) || Left.isOneOf(tok::comma, tok::coloncolon, tok::semi, tok::l_brace, tok::kw_class, tok::kw_struct) || - Right.isOneOf(tok::lessless, tok::arrow, tok::period, tok::colon, - tok::l_square, tok::at) || + Right.isMemberAccess() || + Right.isOneOf(tok::lessless, tok::colon, tok::l_square, tok::at) || (Left.is(tok::r_paren) && Right.isOneOf(tok::identifier, tok::kw_const)) || (Left.is(tok::l_paren) && !Right.is(tok::r_paren)); |