Skip to content

Commit 17db331

Browse files
authored
[ASTDump] TextNodeDumper learned to dump builtin name for AtomicExpr (#102748)
In 4198576, we add support for dumping builtin name for AtomicExpr in JSON dump. This change syncs `TextNodeDumper` with `JSONNodeDumper`, makes `TextNodeDumper` learned to dump builtin name for AtomicExpr.
1 parent d990cc4 commit 17db331

File tree

3 files changed

+9
-4
lines changed

3 files changed

+9
-4
lines changed

clang/include/clang/AST/TextNodeDumper.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -410,6 +410,7 @@ class TextNodeDumper
410410
void VisitOpenACCConstructStmt(const OpenACCConstructStmt *S);
411411
void VisitOpenACCLoopConstruct(const OpenACCLoopConstruct *S);
412412
void VisitEmbedExpr(const EmbedExpr *S);
413+
void VisitAtomicExpr(const AtomicExpr *AE);
413414
};
414415

415416
} // namespace clang

clang/lib/AST/TextNodeDumper.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2892,3 +2892,7 @@ void TextNodeDumper::VisitEmbedExpr(const EmbedExpr *S) {
28922892
AddChild("begin", [=] { OS << S->getStartingElementPos(); });
28932893
AddChild("number of elements", [=] { OS << S->getDataElementCount(); });
28942894
}
2895+
2896+
void TextNodeDumper::VisitAtomicExpr(const AtomicExpr *AE) {
2897+
OS << ' ' << AE->getOpAsString();
2898+
}

clang/test/AST/atomic-expr.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,22 +25,22 @@ void useage(){
2525
}
2626

2727
// CHECK:FunctionTemplateDecl 0x{{[0-9a-f]+}} <{{[^,]+}}, line:{{.*}}:1> line:{{.*}}:6 pr43370
28-
// CHECK: AtomicExpr
28+
// CHECK: AtomicExpr 0x{{[0-9a-f]+}} <{{.*}}> 'void' __atomic_store_n
2929
// CHECK-NEXT: ImplicitCastExpr
3030
// CHECK-SAME: <ArrayToPointerDecay>
3131
// CHECK-NEXT: DeclRefExpr 0x{{[0-9a-f]+}} <{{[^:]+}}:20> 'int[2]' lvalue Var 0x{{[0-9a-f]+}} 'arr' 'int[2]'
3232
// CHECK-NEXT: IntegerLiteral 0x{{[0-9a-f]+}} <{{[^:]+}}:28> 'int' 5
3333
// CHECK-NEXT: IntegerLiteral 0x{{[0-9a-f]+}} <{{[^:]+}}:25> 'int' 0
3434
// CHECK:FunctionDecl 0x{{[0-9a-f]+}} <line:{{.*}}:1, line:{{.*}}:1> line:{{.*}}:6 used pr43370
35-
// CHECK: AtomicExpr
35+
// CHECK: AtomicExpr 0x{{[0-9a-f]+}} <{{.*}}> 'void' __atomic_store_n
3636
// CHECK-NEXT: ImplicitCastExpr
3737
// CHECK-SAME: <ArrayToPointerDecay>
3838
// CHECK-NEXT: DeclRefExpr 0x{{[0-9a-f]+}} <{{[^:]+}}:20> 'int[2]' lvalue Var 0x{{[0-9a-f]+}} 'arr' 'int[2]'
3939
// CHECK-NEXT: IntegerLiteral 0x{{[0-9a-f]+}} <{{[^:]+}}:28> 'int' 5
4040
// CHECK-NEXT: IntegerLiteral 0x{{[0-9a-f]+}} <{{[^:]+}}:25> 'int' 0
4141

4242
// CHECK:FunctionTemplateDecl 0x{{[0-9a-f]+}} <line:{{.*}}:1, line:{{.*}}:1> line:{{.*}}:6 foo
43-
// CHECK: AtomicExpr
43+
// CHECK: AtomicExpr 0x{{[0-9a-f]+}} <{{.*}}> 'bool' __atomic_compare_exchange_n
4444
// CHECK-NEXT: ImplicitCastExpr
4545
// CHECK-SAME: <ArrayToPointerDecay>
4646
// CHECK-NEXT: DeclRefExpr 0x{{[0-9a-f]+}} <{{[^:]+}}:37> 'int[2]' lvalue Var 0x{{[0-9a-f]+}} 'arr' 'int[2]'
@@ -53,7 +53,7 @@ void useage(){
5353
// CHECK-NEXT: ImplicitCastExpr
5454
// CHECK-NEXT: IntegerLiteral 0x{{[0-9a-f]+}} <{{[^:]+}}:50> 'int' 0
5555
// CHECK:FunctionDecl 0x{{[0-9a-f]+}} <line:{{.*}}:1, line:{{.*}}:1> line:{{.*}}:6 used foo
56-
// CHECK: AtomicExpr
56+
// CHECK: AtomicExpr 0x{{[0-9a-f]+}} <{{.*}}> 'bool' __atomic_compare_exchange_n
5757
// CHECK-NEXT: ImplicitCastExpr
5858
// CHECK-SAME: <ArrayToPointerDecay>
5959
// CHECK-NEXT: DeclRefExpr 0x{{[0-9a-f]+}} <{{[^:]+}}:37> 'int[2]' lvalue Var 0x{{[0-9a-f]+}} 'arr' 'int[2]'

0 commit comments

Comments
 (0)