[clang] [clang-format] Handle Trailing Whitespace After Line Continuation (P2223R2) (PR #145243)
Owen Pan via cfe-commits
cfe-commits at lists.llvm.org
Mon Jun 23 22:08:28 PDT 2025
================
@@ -25768,6 +25768,29 @@ TEST_F(FormatTest, OperatorPassedAsAFunctionPtr) {
verifyFormat("foo(operator, , -42);", Style);
}
+TEST_F(FormatTest, LineSpliceWithTrailingWhitespace) {
+ // Test that each sequence of a backslash (\) immediately followed by zero or
+ // more horizontal whitespace characters and then a new-line character is
+ // treated as a single logical line while formatting (as per P2223R2).
+ FormatStyle Style = getLLVMStyle();
+ Style.AlignEscapedNewlines = FormatStyle::ENAS_DontAlign;
+ Style.UseTab = FormatStyle::UT_Never;
+
+ verifyFormat("int i;",
+ " \\ \n"
+ " int i;",
+ Style);
+ verifyFormat("#define FOO(args) \\\n struct a {};\n",
+ "#define FOO( args ) \\ \n"
+ "struct a{\\\t\t\t\n"
+ " };\n",
----------------
owenca wrote:
```suggestion
verifyFormat("#define FOO(args) \\\n"
" struct a {};",
"#define FOO( args ) \\ \n"
"struct a{\\\t\t\t\n"
" };",
```
https://github.com/llvm/llvm-project/pull/145243
More information about the cfe-commits
mailing list