forked from OSchip/llvm-project
[clang-format] Fix break being added to macro define with ColumnLimit: 0
Fix for #[[ https://github.com/llvm/llvm-project/issues/49164 | 49164 ]] issue. Reviewed By: MyDeveloperDay, HazardyKnusperkeks, curdeius, owenpan Differential Revision: https://reviews.llvm.org/D116859
This commit is contained in:
parent
4f4340ee2a
commit
47a9eb2117
|
@ -485,7 +485,8 @@ bool ContinuationIndenter::mustBreak(const LineState &State) {
|
|||
// different LineFormatter would be used otherwise.
|
||||
if (Previous.ClosesTemplateDeclaration)
|
||||
return Style.AlwaysBreakTemplateDeclarations != FormatStyle::BTDS_No;
|
||||
if (Previous.is(TT_FunctionAnnotationRParen))
|
||||
if (Previous.is(TT_FunctionAnnotationRParen) &&
|
||||
State.Line->Type != LT_PreprocessorDirective)
|
||||
return true;
|
||||
if (Previous.is(TT_LeadingJavaAnnotation) && Current.isNot(tok::l_paren) &&
|
||||
Current.isNot(TT_LeadingJavaAnnotation))
|
||||
|
|
|
@ -4804,6 +4804,13 @@ TEST_F(FormatTest, MacroCallsWithoutTrailingSemicolon) {
|
|||
Style);
|
||||
}
|
||||
|
||||
TEST_F(FormatTest, FormatsMacrosWithZeroColumnWidth) {
|
||||
FormatStyle ZeroColumn = getLLVMStyleWithColumns(0);
|
||||
|
||||
verifyFormat("#define A LOOOOOOOOOOOOOOOOOOONG() LOOOOOOOOOOOOOOOOOOONG()",
|
||||
ZeroColumn);
|
||||
}
|
||||
|
||||
TEST_F(FormatTest, LayoutMacroDefinitionsStatementsSpanningBlocks) {
|
||||
verifyFormat("#define A \\\n"
|
||||
" f({ \\\n"
|
||||
|
@ -19600,15 +19607,13 @@ TEST_F(FormatTest, HandlesUTF8BOM) {
|
|||
TEST_F(FormatTest, CountsUTF8CharactersProperly) {
|
||||
verifyFormat("\"Однажды в студёную зимнюю пору...\"",
|
||||
getLLVMStyleWithColumns(35));
|
||||
verifyFormat("\"一 二 三 四 五 六 七 八 九 十\"",
|
||||
getLLVMStyleWithColumns(31));
|
||||
verifyFormat("\"一 二 三 四 五 六 七 八 九 十\"", getLLVMStyleWithColumns(31));
|
||||
verifyFormat("// Однажды в студёную зимнюю пору...",
|
||||
getLLVMStyleWithColumns(36));
|
||||
verifyFormat("// 一 二 三 四 五 六 七 八 九 十", getLLVMStyleWithColumns(32));
|
||||
verifyFormat("/* Однажды в студёную зимнюю пору... */",
|
||||
getLLVMStyleWithColumns(39));
|
||||
verifyFormat("/* 一 二 三 四 五 六 七 八 九 十 */",
|
||||
getLLVMStyleWithColumns(35));
|
||||
verifyFormat("/* 一 二 三 四 五 六 七 八 九 十 */", getLLVMStyleWithColumns(35));
|
||||
}
|
||||
|
||||
TEST_F(FormatTest, SplitsUTF8Strings) {
|
||||
|
@ -19628,21 +19633,20 @@ TEST_F(FormatTest, SplitsUTF8Strings) {
|
|||
"\"пору,\"",
|
||||
format("\"Однажды, в студёную зимнюю пору,\"",
|
||||
getLLVMStyleWithColumns(13)));
|
||||
EXPECT_EQ("\"一 二 三 \"\n"
|
||||
"\"四 五六 \"\n"
|
||||
"\"七 八 九 \"\n"
|
||||
"\"十\"",
|
||||
format("\"一 二 三 四 五六 七 八 九 十\"", getLLVMStyleWithColumns(11)));
|
||||
EXPECT_EQ(
|
||||
"\"一 二 三 \"\n"
|
||||
"\"四 五六 \"\n"
|
||||
"\"七 八 九 \"\n"
|
||||
"\"十\"",
|
||||
format("\"一 二 三 四 五六 七 八 九 十\"", getLLVMStyleWithColumns(11)));
|
||||
EXPECT_EQ("\"一\t\"\n"
|
||||
"\"二 \t\"\n"
|
||||
"\"三 四 \"\n"
|
||||
"\"五\t\"\n"
|
||||
"\"六 \t\"\n"
|
||||
"\"七 \"\n"
|
||||
"\"八九十\tqq\"",
|
||||
format("\"一\t二 \t三 四 五\t六 \t七 八九十\tqq\"",
|
||||
getLLVMStyleWithColumns(11)));
|
||||
"\"一\t\"\n"
|
||||
"\"二 \t\"\n"
|
||||
"\"三 四 \"\n"
|
||||
"\"五\t\"\n"
|
||||
"\"六 \t\"\n"
|
||||
"\"七 \"\n"
|
||||
"\"八九十\tqq\"",
|
||||
format("\"一\t二 \t三 四 五\t六 \t七 八九十\tqq\"", getLLVMStyleWithColumns(11)));
|
||||
|
||||
// UTF8 character in an escape sequence.
|
||||
EXPECT_EQ("\"aaaaaa\"\n"
|
||||
|
@ -19687,16 +19691,16 @@ TEST_F(FormatTest, SplitsUTF8BlockComments) {
|
|||
format("/* Гляжу, поднимается медленно в гору\n"
|
||||
" * Лошадка, везущая хворосту воз. */",
|
||||
getLLVMStyleWithColumns(13)));
|
||||
EXPECT_EQ(
|
||||
"/* 一二三\n"
|
||||
" * 四五六七\n"
|
||||
" * 八 九\n"
|
||||
" * 十 */",
|
||||
format("/* 一二三 四五六七 八 九 十 */", getLLVMStyleWithColumns(9)));
|
||||
EXPECT_EQ("/* 一二三\n"
|
||||
" * 四五六七\n"
|
||||
" * 八 九\n"
|
||||
" * 十 */",
|
||||
format("/* 一二三 四五六七 八 九 十 */", getLLVMStyleWithColumns(9)));
|
||||
EXPECT_EQ("/* 𝓣𝓮𝓼𝓽 𝔣𝔬𝔲𝔯\n"
|
||||
" * 𝕓𝕪𝕥𝕖\n"
|
||||
" * 𝖀𝕿𝕱-𝟠 */",
|
||||
format("/* 𝓣𝓮𝓼𝓽 𝔣𝔬𝔲𝔯 𝕓𝕪𝕥𝕖 𝖀𝕿𝕱-𝟠 */", getLLVMStyleWithColumns(12)));
|
||||
format("/* 𝓣𝓮𝓼𝓽 𝔣𝔬𝔲𝔯 𝕓𝕪𝕥𝕖 𝖀𝕿𝕱-𝟠 */",
|
||||
getLLVMStyleWithColumns(12)));
|
||||
}
|
||||
|
||||
#endif // _MSC_VER
|
||||
|
|
Loading…
Reference in New Issue