[clang] [clang-format] Recognize TableGen paste operator on separate line (PR #133722)
Owen Pan via cfe-commits
cfe-commits at lists.llvm.org
Mon Mar 31 23:08:42 PDT 2025
================
@@ -2832,6 +2832,23 @@ TEST_F(TokenAnnotatorTest, UnderstandTableGenTokens) {
Tokens = Annotate("!cond");
EXPECT_TOKEN(Tokens[0], tok::identifier, TT_TableGenCondOperator);
+ // The paste operator should not be treated as a preprocessor directive even
+ // if it is on a separate line.
+ Tokens = Annotate("def x\n"
+ "#embed {}");
+ ASSERT_EQ(Tokens.size(), 7u) << Tokens;
+ EXPECT_TOKEN(Tokens[1], tok::identifier, TT_StartOfName);
+ EXPECT_TOKEN(Tokens[2], tok::hash, TT_Unknown);
+ EXPECT_EQ(Tokens[1]->Next, Tokens[2]);
+ Tokens = Annotate("def x\n"
+ "#define x\n"
+ "#embed {}");
+ ASSERT_EQ(Tokens.size(), 10u) << Tokens;
+ EXPECT_TOKEN(Tokens[1], tok::identifier, TT_StartOfName);
+ EXPECT_TOKEN(Tokens[2], tok::hash, TT_Unknown);
+ EXPECT_TOKEN(Tokens[5], tok::hash, TT_Unknown);
----------------
owenca wrote:
Delete both lines?
https://github.com/llvm/llvm-project/pull/133722
More information about the cfe-commits
mailing list