Skip to content

clang-format: Incorrect behavior with BreakBinaryOperations #106228

@andergnet

Description

@andergnet

Thanks for adding BreakBinaryOperations! It's a great feature.

I notice some strange behavior when dealing with the operator>>:

I'm using BreakBinaryOperations: RespectPrecedence

Before formatting:

void abc()
{
   int aaaaaa, bbbbbb, cccccc;
   aaaaaa >> bbbbbb >> cccccc >> aaaaaa >> bbbbbb >> cccccc >> aaaaaa >> bbbbbb >> cccccc >> aaaaaa >> bbbbbb >> cccccc
      >> aaaaaa >> bbbbbb >> cccccc >> aaaaaa >> bbbbbb >> cccccc;
}
void abc()
{
   int aaaaaa, bbbbbb, cccccc;
   aaaaaa << bbbbbb << cccccc << aaaaaa << bbbbbb << cccccc << aaaaaa << bbbbbb << cccccc << aaaaaa << bbbbbb << cccccc
      << aaaaaa << bbbbbb << cccccc << aaaaaa << bbbbbb << cccccc;
}

After formatting:

void abc()
{
   int aaaaaa, bbbbbb, cccccc;
   aaaaaa >> bbbbbb >> cccccc >> aaaaaa >> bbbbbb >> cccccc >> aaaaaa >> bbbbbb >> cccccc >> aaaaaa >> bbbbbb >> cccccc >> aaaaaa >> bbbbbb >> cccccc >> aaaaaa >> bbbbbb >> cccccc;
}
void abc()
{
   int aaaaaa, bbbbbb, cccccc;
   aaaaaa
      << bbbbbb
      << cccccc
      << aaaaaa
      << bbbbbb
      << cccccc
      << aaaaaa
      << bbbbbb
      << cccccc
      << aaaaaa
      << bbbbbb
      << cccccc
      << aaaaaa
      << bbbbbb
      << cccccc
      << aaaaaa
      << bbbbbb
      << cccccc;
}

operator<< works as expected, operator>> does not.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions