https://llvm.org/bugs/show_bug.cgi?id=30304

            Bug ID: 30304
           Summary: Combination of BreakBeforeBinaryOperators: All,
                    AlignAfterOpenBracket: AlwaysBreak doesn't handling
                    long template parameter list.
           Product: clang
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Formatter
          Assignee: unassignedclangb...@nondot.org
          Reporter: daphnedi...@mac.com
                CC: djas...@google.com, kli...@google.com,
                    llvm-bugs@lists.llvm.org
    Classification: Unclassified

Created attachment 17217
  --> https://llvm.org/bugs/attachment.cgi?id=17217&action=edit
Simplified sample code that does not format correctly.

When both BreakBeforeBinaryOperators: All and AlignAfterOpenBracket:
AlwaysBreak formatting options are specified clang-format does not wrap really
long template lines.

I've attached a sample file that can show the problem.

The default works:
clang-format --style='{BasedOnStyle: llvm, BreakBeforeBinaryOperators: None,
AlignAfterOpenBracket: Align}' dummy.cxx

Changing BBBO to all but leaving AAOB as default also works.
clang-format --style='{BasedOnStyle: llvm, BreakBeforeBinaryOperators: All,
AlignAfterOpenBracket: Align}' dummy.cxx

Changing AAOB to AlwaysBreak but leaving BBBO as default also works.
clang-format --style='{BasedOnStyle: llvm, BreakBeforeBinaryOperators: None,
AlignAfterOpenBracket: AlwaysBreak}' dummy.cxx

But turning on both at once falls to wrap the line
clang-format --style='{BasedOnStyle: llvm, BreakBeforeBinaryOperators: All,
AlignAfterOpenBracket: AlwaysBreak}' dummy.cxx

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to