[clang-format] Respect ColumnLimit 0 line breaks in inline asm
authorEmilia Kond <emilia@rymiel.space>
Fri, 23 Jun 2023 14:30:19 +0000 (17:30 +0300)
committerEmilia Kond <emilia@rymiel.space>
Fri, 23 Jun 2023 14:30:24 +0000 (17:30 +0300)
commit7a38b3bfeb5623fb970a03ed9f295288802f4506
treef3b80bf7ec612c3b4f9957978bc2ea369796d79a
parentab94c1bad33833fcca63e76c15c4d3dc0299dfff
[clang-format] Respect ColumnLimit 0 line breaks in inline asm

Previously, using ColumnLimit: 0 with extended inline asm with the
BreakBeforeInlineASMColon: OnlyMultiline option (the default style),
the formatter would act as if in Always mode, meaning a line break was
added before every colon in an extended inline assembly block.

This patch respects the already existing line breaks, and doesn't add
any new ones, if in ColumnLimit 0 mode.

Behaviour with Always stays as expected, with a break before every colon
regardless of any existing line breaks.

Behaviour with Never was broken before, and remains broken with this patch,
it is just never respected in ColumnLimit 0 mode.

Fixes https://github.com/llvm/llvm-project/issues/62754

Reviewed By: HazardyKnusperkeks, owenpan

Differential Revision: https://reviews.llvm.org/D150848
clang/lib/Format/ContinuationIndenter.cpp
clang/unittests/Format/FormatTest.cpp