[flang-commits] [flang] [flang] Update printing values in dump-parse-tree (PR #112709)
Krzysztof Parzyszek via flang-commits
flang-commits at lists.llvm.org
Thu Oct 17 09:54:36 PDT 2024
https://github.com/kparzysz updated https://github.com/llvm/llvm-project/pull/112709
>From 99d785ba400e50eaf828b3718c82cd76c932381a Mon Sep 17 00:00:00 2001
From: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: Wed, 16 Oct 2024 15:54:00 -0500
Subject: [PATCH 1/2] [flang] Update printing values in dump-parse-tree
Remove 'if std::string' that is covered by another branch of the
if-statement.
Add printing of 'bool' and 'int' values, since they have corresponding
`GetNodeName` definitions.
---
flang/include/flang/Parser/dump-parse-tree.h | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/flang/include/flang/Parser/dump-parse-tree.h b/flang/include/flang/Parser/dump-parse-tree.h
index 5d243b4e5d3e9a..ccbe5475d051e0 100644
--- a/flang/include/flang/Parser/dump-parse-tree.h
+++ b/flang/include/flang/Parser/dump-parse-tree.h
@@ -884,8 +884,10 @@ class ParseTreeDumper {
} else if constexpr (HasSource<T>::value) {
return x.source.ToString();
#endif
- } else if constexpr (std::is_same_v<T, std::string>) {
- return x;
+ } else if constexpr (std::is_same_v<T, int>) {
+ return std::to_string(x);
+ } else if constexpr (std::is_same_v<T, bool>) {
+ return x ? "true" : "false";
} else {
return "";
}
>From 66d6313abacc814731655dfcb3692286868e06c7 Mon Sep 17 00:00:00 2001
From: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: Thu, 17 Oct 2024 11:37:51 -0500
Subject: [PATCH 2/2] Update one testcase to check for showing `int` values
---
flang/test/Parser/OpenMP/allocate-tree.f90 | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/flang/test/Parser/OpenMP/allocate-tree.f90 b/flang/test/Parser/OpenMP/allocate-tree.f90
index 9de257b00dc32f..bf413d591baf23 100644
--- a/flang/test/Parser/OpenMP/allocate-tree.f90
+++ b/flang/test/Parser/OpenMP/allocate-tree.f90
@@ -18,6 +18,19 @@ program allocate_tree
allocate(w, xarray(4), zarray(t, z))
end program allocate_tree
+!CHECK: | | DeclarationConstruct -> SpecificationConstruct -> TypeDeclarationStmt
+!CHECK-NEXT: | | | DeclarationTypeSpec -> IntrinsicTypeSpec -> IntegerTypeSpec ->
+!CHECK-NEXT: | | | AttrSpec -> Allocatable
+!CHECK-NEXT: | | | EntityDecl
+!CHECK-NEXT: | | | | Name = 'w'
+!CHECK-NEXT: | | | EntityDecl
+!CHECK-NEXT: | | | | Name = 'xarray'
+!CHECK-NEXT: | | | | ArraySpec -> DeferredShapeSpecList -> int = '1'
+!CHECK-NEXT: | | | EntityDecl
+!CHECK-NEXT: | | | | Name = 'zarray'
+!CHECK-NEXT: | | | | ArraySpec -> DeferredShapeSpecList -> int = '2'
+
+
!CHECK: | | ExecutionPartConstruct -> ExecutableConstruct -> OpenMPConstruct -> OpenMPExecutableAllocate
!CHECK-NEXT: | | | Verbatim
!CHECK-NEXT: | | | OmpClauseList ->
More information about the flang-commits
mailing list