Skip to content

Commit d3671a5

Browse files
committed
Add other directives
1 parent b018450 commit d3671a5

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

clang/lib/Format/UnwrappedLineParser.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4860,7 +4860,8 @@ void UnwrappedLineParser::readToken(int LevelDifference) {
48604860
assert(Next); // There is an EOF token at the end.
48614861
if ((Style.isVerilog() && !Keywords.isVerilogPPDirective(*Next)) ||
48624862
(Style.isTableGen() &&
4863-
!Next->isOneOf(tok::pp_define, tok::pp_ifdef, tok::pp_ifndef))) {
4863+
!Next->isOneOf(tok::kw_else, tok::pp_define, tok::pp_ifdef,
4864+
tok::pp_ifndef, tok::pp_endif))) {
48644865
break;
48654866
}
48664867
distributeComments(Comments, FormatTok);

clang/unittests/Format/TokenAnnotatorTest.cpp

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2838,16 +2838,21 @@ TEST_F(TokenAnnotatorTest, UnderstandTableGenTokens) {
28382838
"#embed {}");
28392839
ASSERT_EQ(Tokens.size(), 7u) << Tokens;
28402840
EXPECT_TOKEN(Tokens[1], tok::identifier, TT_StartOfName);
2841-
EXPECT_TOKEN(Tokens[2], tok::hash, TT_Unknown);
28422841
EXPECT_EQ(Tokens[1]->Next, Tokens[2]);
28432842
Tokens = Annotate("def x\n"
28442843
"#define x\n"
28452844
"#embed {}");
28462845
ASSERT_EQ(Tokens.size(), 10u) << Tokens;
28472846
EXPECT_TOKEN(Tokens[1], tok::identifier, TT_StartOfName);
2848-
EXPECT_TOKEN(Tokens[2], tok::hash, TT_Unknown);
2849-
EXPECT_TOKEN(Tokens[5], tok::hash, TT_Unknown);
28502847
EXPECT_EQ(Tokens[1]->Next, Tokens[5]);
2848+
Tokens = Annotate("def x\n"
2849+
"#ifdef x\n"
2850+
"#else\n"
2851+
"#endif\n"
2852+
"#embed {}");
2853+
ASSERT_EQ(Tokens.size(), 14u) << Tokens;
2854+
EXPECT_TOKEN(Tokens[1], tok::identifier, TT_StartOfName);
2855+
EXPECT_EQ(Tokens[1]->Next, Tokens[9]);
28512856

28522857
auto AnnotateValue = [this, &Style](StringRef Code) {
28532858
// Values are annotated only in specific context.

0 commit comments

Comments
 (0)