[flang-commits] [flang] [flang] Main program symbol no longer conflicts with the other symbols (PR #149169)
Eugene Epshteyn via flang-commits
flang-commits at lists.llvm.org
Thu Jul 17 04:11:33 PDT 2025
https://github.com/eugeneepshteyn updated https://github.com/llvm/llvm-project/pull/149169
>From f7cc4e803ca099d98d9711b42fc342751de67367 Mon Sep 17 00:00:00 2001
From: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: Tue, 15 Jul 2025 15:33:12 -0400
Subject: [PATCH 01/11] [flang] Attempt to address main program symbol
conflicts
... by making main program symbol names upper case.
---
flang/lib/Semantics/resolve-labels.cpp | 32 ++++++++++++++++++++------
1 file changed, 25 insertions(+), 7 deletions(-)
diff --git a/flang/lib/Semantics/resolve-labels.cpp b/flang/lib/Semantics/resolve-labels.cpp
index b0cbc4b56e889..0278f70b90226 100644
--- a/flang/lib/Semantics/resolve-labels.cpp
+++ b/flang/lib/Semantics/resolve-labels.cpp
@@ -489,15 +489,33 @@ class ParseTreeAnalyzer {
// C1401
void Post(const parser::MainProgram &mainProgram) {
- if (const parser::CharBlock *
+ // Uppercase the name of the main program, so that its symbol name
+ // would be unique from similarly named non-main-program symbols.
+ auto upperCaseCharBlock = [](const parser::CharBlock& cb) {
+ char* ch = const_cast<char*>(cb.begin());
+ char* endCh = ch + cb.size();
+ while (ch != endCh) {
+ *ch++ = parser::ToUpperCaseLetter(*ch);
+ }
+ };
+ const parser::CharBlock *progName{nullptr};
+ if (const auto &program{
+ std::get<std::optional<parser::Statement<parser::ProgramStmt>>>(
+ mainProgram.t)}) {
+ progName = &program->statement.v.source;
+ }
+ if (progName) {
+ upperCaseCharBlock(*progName);
+ }
+ const parser::CharBlock *
endName{GetStmtName(std::get<parser::Statement<parser::EndProgramStmt>>(
- mainProgram.t))}) {
- if (const auto &program{
- std::get<std::optional<parser::Statement<parser::ProgramStmt>>>(
- mainProgram.t)}) {
- if (*endName != program->statement.v.source) {
+ mainProgram.t))};
+ if (endName) {
+ upperCaseCharBlock(*endName);
+ if (progName) {
+ if (*endName != *progName) {
context_.Say(*endName, "END PROGRAM name mismatch"_err_en_US)
- .Attach(program->statement.v.source, "should be"_en_US);
+ .Attach(*progName, "should be"_en_US);
}
} else {
context_.Say(*endName,
>From 336c138bda8c1738c5845f274533b84a075c41aa Mon Sep 17 00:00:00 2001
From: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: Tue, 15 Jul 2025 18:16:13 -0400
Subject: [PATCH 02/11] clang-format
---
flang/lib/Semantics/resolve-labels.cpp | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/flang/lib/Semantics/resolve-labels.cpp b/flang/lib/Semantics/resolve-labels.cpp
index 0278f70b90226..d3fda03383783 100644
--- a/flang/lib/Semantics/resolve-labels.cpp
+++ b/flang/lib/Semantics/resolve-labels.cpp
@@ -491,9 +491,9 @@ class ParseTreeAnalyzer {
void Post(const parser::MainProgram &mainProgram) {
// Uppercase the name of the main program, so that its symbol name
// would be unique from similarly named non-main-program symbols.
- auto upperCaseCharBlock = [](const parser::CharBlock& cb) {
- char* ch = const_cast<char*>(cb.begin());
- char* endCh = ch + cb.size();
+ auto upperCaseCharBlock = [](const parser::CharBlock &cb) {
+ char *ch = const_cast<char *>(cb.begin());
+ char *endCh = ch + cb.size();
while (ch != endCh) {
*ch++ = parser::ToUpperCaseLetter(*ch);
}
@@ -507,9 +507,8 @@ class ParseTreeAnalyzer {
if (progName) {
upperCaseCharBlock(*progName);
}
- const parser::CharBlock *
- endName{GetStmtName(std::get<parser::Statement<parser::EndProgramStmt>>(
- mainProgram.t))};
+ const parser::CharBlock *endName{GetStmtName(
+ std::get<parser::Statement<parser::EndProgramStmt>>(mainProgram.t))};
if (endName) {
upperCaseCharBlock(*endName);
if (progName) {
>From f6507f56a22227d1b3cb5327d2a0b561a494327e Mon Sep 17 00:00:00 2001
From: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: Tue, 15 Jul 2025 18:16:52 -0400
Subject: [PATCH 03/11] Initial test changes
---
flang/test/Driver/cuda-option.f90 | 2 +-
flang/test/Driver/unparse-use-analyzed.f95 | 4 +-
flang/test/Driver/unparse-with-modules.f90 | 2 +-
.../test/Integration/debug-common-block-1.f90 | 2 +-
flang/test/Integration/debug-local-var-2.f90 | 2 +-
flang/test/Lower/CUDA/cuda-derived.cuf | 2 +-
flang/test/Lower/CUDA/cuda-return01.cuf | 2 +-
flang/test/Lower/CUDA/cuda-return02.cuf | 2 +-
.../Lower/HLFIR/intrinsic-subroutines.f90 | 2 +-
...ointer-component-structure-constructor.f90 | 2 +-
flang/test/Lower/OpenACC/acc-atomic-read.f90 | 2 +-
flang/test/Lower/OpenACC/acc-atomic-write.f90 | 2 +-
flang/test/Lower/OpenACC/acc-routine04.f90 | 2 +-
flang/test/Lower/OpenMP/atomic-read.f90 | 2 +-
flang/test/Lower/OpenMP/atomic-write.f90 | 2 +-
.../Lower/OpenMP/common-atomic-lowering.f90 | 2 +-
flang/test/Lower/OpenMP/cray-pointers02.f90 | 2 +-
.../Lower/OpenMP/default-clause-byref.f90 | 2 +-
flang/test/Lower/OpenMP/default-clause.f90 | 2 +-
.../parallel-reduction-allocatable-array.f90 | 2 +-
.../OpenMP/parallel-reduction-array-lb.f90 | 2 +-
.../OpenMP/parallel-reduction-array2.f90 | 2 +-
.../Lower/OpenMP/parallel-reduction-byref.f90 | 2 +-
.../parallel-reduction-pointer-array.f90 | 2 +-
.../OpenMP/parallel-reduction-rename.f90 | 2 +-
.../test/Lower/OpenMP/parallel-reduction.f90 | 2 +-
flang/test/Lower/OpenMP/sections.f90 | 2 +-
.../threadprivate-host-association-2.f90 | 2 +-
.../threadprivate-host-association-3.f90 | 2 +-
.../OpenMP/threadprivate-host-association.f90 | 2 +-
flang/test/Lower/OpenMP/wsloop-chunks.f90 | 2 +-
flang/test/Lower/OpenMP/wsloop-collapse.f90 | 2 +-
...oop-reduction-allocatable-array-minmax.f90 | 2 +-
.../OpenMP/wsloop-reduction-allocatable.f90 | 2 +-
.../OpenMP/wsloop-reduction-array-lb.f90 | 2 +-
.../OpenMP/wsloop-reduction-array-lb2.f90 | 2 +-
.../Lower/OpenMP/wsloop-reduction-array.f90 | 2 +-
.../Lower/OpenMP/wsloop-reduction-array2.f90 | 2 +-
.../Lower/OpenMP/wsloop-reduction-min2.f90 | 2 +-
.../wsloop-reduction-multiple-clauses.f90 | 2 +-
.../Lower/OpenMP/wsloop-reduction-pointer.f90 | 2 +-
flang/test/Lower/array-character.f90 | 2 +-
flang/test/Lower/array-expression-slice-1.f90 | 2 +-
flang/test/Lower/basic-program.f90 | 6 +-
flang/test/Lower/big-integer-parameter.f90 | 2 +-
.../test/Lower/derived-type-finalization.f90 | 2 +-
flang/test/Lower/location.f90 | 2 +-
flang/test/Lower/nested-where.f90 | 2 +-
flang/test/Lower/polymorphic.f90 | 2 +-
flang/test/Lower/pre-fir-tree02.f90 | 2 +-
flang/test/Lower/pre-fir-tree03.f90 | 2 +-
flang/test/Lower/pre-fir-tree06.f90 | 4 +-
.../test/Lower/program-units-fir-mangling.f90 | 2 +-
flang/test/Lower/return-statement.f90 | 2 +-
flang/test/Lower/volatile-openmp1.f90 | 2 +-
flang/test/Lower/volatile-string.f90 | 2 +-
flang/test/Lower/volatile3.f90 | 2 +-
flang/test/Parser/acc-unparse.f90 | 2 +-
.../test/Semantics/OpenACC/acc-symbols01.f90 | 2 +-
.../OpenMP/critical_within_default.f90 | 2 +-
.../OpenMP/declare-mapper-symbols.f90 | 2 +-
.../OpenMP/declare-reduction-mangled.f90 | 2 +-
.../OpenMP/declare-reduction-operators.f90 | 2 +-
.../OpenMP/declare-reduction-renamedop.f90 | 2 +-
.../Semantics/OpenMP/declare-reduction.f90 | 2 +-
flang/test/Semantics/OpenMP/do-schedule03.f90 | 28 +++----
.../Semantics/OpenMP/do01-positivecase.f90 | 6 +-
.../Semantics/OpenMP/do04-positivecase.f90 | 14 ++--
.../Semantics/OpenMP/do05-positivecase.f90 | 32 ++++----
.../Semantics/OpenMP/do06-positivecases.f90 | 10 +--
flang/test/Semantics/OpenMP/do11.f90 | 26 +++----
flang/test/Semantics/OpenMP/do12.f90 | 74 +++++++++----------
flang/test/Semantics/OpenMP/do14.f90 | 62 ++++++++--------
flang/test/Semantics/OpenMP/do17.f90 | 38 +++++-----
.../Semantics/OpenMP/map-clause-symbols.f90 | 2 +-
flang/test/Semantics/OpenMP/reduction08.f90 | 48 ++++++------
flang/test/Semantics/OpenMP/reduction09.f90 | 38 +++++-----
flang/test/Semantics/OpenMP/reduction11.f90 | 2 +-
flang/test/Semantics/OpenMP/scan2.f90 | 2 +-
flang/test/Semantics/OpenMP/symbol01.f90 | 52 ++++++-------
flang/test/Semantics/OpenMP/symbol05.f90 | 4 +-
flang/test/Semantics/OpenMP/symbol07.f90 | 2 +-
flang/test/Semantics/OpenMP/symbol09.f90 | 2 +-
flang/test/Semantics/getsymbols03-a.f90 | 2 +-
flang/test/Semantics/modproc01.f90 | 2 +-
flang/test/Semantics/multi-programs04.f90 | 2 +-
flang/test/Semantics/procinterface01.f90 | 22 +++---
flang/test/Semantics/resolve125.f90 | 4 +-
flang/test/Semantics/symbol03.f90 | 18 ++---
flang/test/Semantics/symbol06.f90 | 70 +++++++++---------
flang/test/Semantics/symbol07.f90 | 46 ++++++------
flang/test/Semantics/symbol08.f90 | 14 ++--
flang/test/Semantics/symbol15.f90 | 10 +--
flang/test/Semantics/symbol16.f90 | 18 ++---
flang/test/Semantics/symbol17.f90 | 50 ++++++-------
flang/test/Semantics/symbol18.f90 | 20 ++---
flang/test/Semantics/symbol20.f90 | 12 +--
flang/test/Semantics/symbol25.f90 | 12 +--
flang/test/Semantics/symbol26.f90 | 8 +-
.../Transforms/DoConcurrent/basic_host.f90 | 2 +-
100 files changed, 446 insertions(+), 446 deletions(-)
diff --git a/flang/test/Driver/cuda-option.f90 b/flang/test/Driver/cuda-option.f90
index 0740ed509a077..f55e88dab20ce 100644
--- a/flang/test/Driver/cuda-option.f90
+++ b/flang/test/Driver/cuda-option.f90
@@ -8,7 +8,7 @@ program main
integer, device :: dvar
end program
-! CHECK-LABEL: PROGRAM main
+! CHECK-LABEL: PROGRAM MAIN
! CHECK: INTEGER :: var = 1
! CHECK: INTEGER, DEVICE :: dvar
diff --git a/flang/test/Driver/unparse-use-analyzed.f95 b/flang/test/Driver/unparse-use-analyzed.f95
index eb6046aebba54..4bcd72c9a5f50 100644
--- a/flang/test/Driver/unparse-use-analyzed.f95
+++ b/flang/test/Driver/unparse-use-analyzed.f95
@@ -6,12 +6,12 @@
! RUN: %flang_fc1 -fdebug-unparse %s | FileCheck %s --check-prefix=DEFAULT
! RUN: %flang_fc1 -fdebug-unparse -fno-analyzed-objects-for-unparse %s | FileCheck %s --check-prefix=DISABLED
-! DEFAULT: PROGRAM test
+! DEFAULT: PROGRAM TEST
! DEFAULT-NEXT: REAL, PARAMETER :: val = 3.43e2_4
! DEFAULT-NEXT: PRINT *, 3.47e2_4
! DEFAULT-NEXT: END PROGRAM
-! DISABLED: PROGRAM test
+! DISABLED: PROGRAM TEST
! DISABLED-NEXT: REAL, PARAMETER :: val = 343.0
! DISABLED-NEXT: PRINT *, val+4
! DISABLED-NEXT: END PROGRAM
diff --git a/flang/test/Driver/unparse-with-modules.f90 b/flang/test/Driver/unparse-with-modules.f90
index 53997f7804efa..f6444afbe47c1 100644
--- a/flang/test/Driver/unparse-with-modules.f90
+++ b/flang/test/Driver/unparse-with-modules.f90
@@ -25,7 +25,7 @@ program test
!CHECK: implicit none
!CHECK: real(kind=real32) x
!CHECK: end module
-!CHECK: program test
+!CHECK: program TEST
!CHECK: use :: m1
!CHECK: use :: basictestmoduletwo
!CHECK: implicit none
diff --git a/flang/test/Integration/debug-common-block-1.f90 b/flang/test/Integration/debug-common-block-1.f90
index 18217637be0fa..77f47daea4a91 100644
--- a/flang/test/Integration/debug-common-block-1.f90
+++ b/flang/test/Integration/debug-common-block-1.f90
@@ -89,7 +89,7 @@ program test
! CHECK-DAG: ![[CBF3]] = !DICommonBlock(scope: ![[F3]], declaration: null, name: "__BLNK__"{{.*}})
! CHECK-DAG: ![[CBAF3]] = !DICommonBlock(scope: ![[F3]], declaration: null, name: "a"{{.*}})
-! CHECK-DAG: ![[MAIN:[0-9]+]] = {{.*}}!DISubprogram(name: "test"{{.*}})
+! CHECK-DAG: ![[MAIN:[0-9]+]] = {{.*}}!DISubprogram(name: "TEST"{{.*}})
! CHECK-DAG: ![[CBM]] = !DICommonBlock(scope: ![[MAIN]], declaration: null, name: "__BLNK__"{{.*}})
! CHECK-DAG: ![[CBAM]] = !DICommonBlock(scope: ![[MAIN]], declaration: null, name: "a"{{.*}})
diff --git a/flang/test/Integration/debug-local-var-2.f90 b/flang/test/Integration/debug-local-var-2.f90
index b97be141cc8d0..0ddac633a5b1e 100644
--- a/flang/test/Integration/debug-local-var-2.f90
+++ b/flang/test/Integration/debug-local-var-2.f90
@@ -37,7 +37,7 @@
! BOTH-LABEL: }
program mn
-! BOTH-DAG: ![[MAIN:.*]] = distinct !DISubprogram(name: "mn", {{.*}})
+! BOTH-DAG: ![[MAIN:.*]] = distinct !DISubprogram(name: "MN", {{.*}})
! BOTH-DAG: ![[TYI32:.*]] = !DIBasicType(name: "integer", size: 32, encoding: DW_ATE_signed)
! BOTH-DAG: ![[TYI64:.*]] = !DIBasicType(name: "integer", size: 64, encoding: DW_ATE_signed)
diff --git a/flang/test/Lower/CUDA/cuda-derived.cuf b/flang/test/Lower/CUDA/cuda-derived.cuf
index 96250d88d81c4..d419ee074f7a0 100644
--- a/flang/test/Lower/CUDA/cuda-derived.cuf
+++ b/flang/test/Lower/CUDA/cuda-derived.cuf
@@ -25,6 +25,6 @@ program main
type(t2) :: b
end
-! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "main"}
+! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "MAIN"}
! CHECK: %{{.*}} = cuf.alloc !fir.type<_QMm1Tty_device{x:!fir.box<!fir.heap<!fir.array<?xi32>>>}> {bindc_name = "a", data_attr = #cuf.cuda<managed>, uniq_name = "_QFEa"}
! CHECK: %{{.*}} = cuf.alloc !fir.type<_QMm1Tt2{b:!fir.type<_QMm1Tt1{a:!fir.box<!fir.heap<!fir.array<?xf32>>>}>}> {bindc_name = "b", data_attr = #cuf.cuda<managed>, uniq_name = "_QFEb"}
diff --git a/flang/test/Lower/CUDA/cuda-return01.cuf b/flang/test/Lower/CUDA/cuda-return01.cuf
index 47e69a903efd3..ed7c640a71082 100644
--- a/flang/test/Lower/CUDA/cuda-return01.cuf
+++ b/flang/test/Lower/CUDA/cuda-return01.cuf
@@ -28,6 +28,6 @@ program main
return
end
-! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "main"}
+! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "MAIN"}
! CHECK: cuf.alloc !fir.box<!fir.heap<!fir.array<?xi32>>> {bindc_name = "a", data_attr = #cuf.cuda<device>, uniq_name = "_QFEa"} -> !fir.ref<!fir.box<!fir.heap<!fir.array<?xi32>>>>
! CHECK-NOT: cuf.free
diff --git a/flang/test/Lower/CUDA/cuda-return02.cuf b/flang/test/Lower/CUDA/cuda-return02.cuf
index e450d7e796f22..e54818444e49c 100644
--- a/flang/test/Lower/CUDA/cuda-return02.cuf
+++ b/flang/test/Lower/CUDA/cuda-return02.cuf
@@ -13,7 +13,7 @@ program test
return
end
-! CHECK: func.func @_QQmain() attributes {fir.bindc_name = "test"} {
+! CHECK: func.func @_QQmain() attributes {fir.bindc_name = "TEST"} {
! CHECK: %[[DECL:.*]]:2 = hlfir.declare
! CHECK: cf.cond_br %{{.*}}, ^bb1, ^bb2
! CHECK-NEXT: ^bb1:
diff --git a/flang/test/Lower/HLFIR/intrinsic-subroutines.f90 b/flang/test/Lower/HLFIR/intrinsic-subroutines.f90
index 07c4f012781d4..cbc56ca1e395b 100644
--- a/flang/test/Lower/HLFIR/intrinsic-subroutines.f90
+++ b/flang/test/Lower/HLFIR/intrinsic-subroutines.f90
@@ -24,7 +24,7 @@ program main
call mvbits(from, 2, 2, to, 0)
if (any(to /= 5)) STOP 1
end program
-! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "main"} {
+! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "MAIN"} {
! CHECK: %[[VAL_0:.*]] = arith.constant 3 : index
! CHECK: %[[VAL_1:.*]] = fir.alloca !fir.array<3xi32> {bindc_name = "from", uniq_name = "_QFEfrom"}
! CHECK: %[[VAL_2:.*]] = fir.shape %[[VAL_0]] : (index) -> !fir.shape<1>
diff --git a/flang/test/Lower/HLFIR/procedure-pointer-component-structure-constructor.f90 b/flang/test/Lower/HLFIR/procedure-pointer-component-structure-constructor.f90
index 7b64634d10d4b..a097b1522307e 100644
--- a/flang/test/Lower/HLFIR/procedure-pointer-component-structure-constructor.f90
+++ b/flang/test/Lower/HLFIR/procedure-pointer-component-structure-constructor.f90
@@ -35,7 +35,7 @@ FUNCTION BAR() RESULT(res)
END
END
-! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "main"} {
+! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "MAIN"} {
! CHECK: %[[VAL_0:.*]] = fir.alloca !fir.type<_QMmTdt{pp1:!fir.boxproc<(!fir.ref<i32>) -> i32>}>
! CHECK: %[[VAL_1:.*]] = fir.alloca !fir.type<_QMmTdt{pp1:!fir.boxproc<(!fir.ref<i32>) -> i32>}>
! CHECK: %[[VAL_2:.*]] = fir.alloca !fir.boxproc<(!fir.ref<i32>) -> i32> {bindc_name = "pp2", uniq_name = "_QFEpp2"}
diff --git a/flang/test/Lower/OpenACC/acc-atomic-read.f90 b/flang/test/Lower/OpenACC/acc-atomic-read.f90
index 639a98051e3a2..76751a0fa63a8 100644
--- a/flang/test/Lower/OpenACC/acc-atomic-read.f90
+++ b/flang/test/Lower/OpenACC/acc-atomic-read.f90
@@ -8,7 +8,7 @@ program acc_atomic_test
g = h
end program acc_atomic_test
-! CHECK: func @_QQmain() attributes {fir.bindc_name = "acc_atomic_test"} {
+! CHECK: func @_QQmain() attributes {fir.bindc_name = "ACC_ATOMIC_TEST"} {
! CHECK: %[[VAR_G:.*]] = fir.alloca f32 {bindc_name = "g", uniq_name = "_QFEg"}
! CHECK: %[[G_DECL:.*]]:2 = hlfir.declare %[[VAR_G]] {uniq_name = "_QFEg"} : (!fir.ref<f32>) -> (!fir.ref<f32>, !fir.ref<f32>)
! CHECK: %[[VAR_H:.*]] = fir.alloca f32 {bindc_name = "h", uniq_name = "_QFEh"}
diff --git a/flang/test/Lower/OpenACC/acc-atomic-write.f90 b/flang/test/Lower/OpenACC/acc-atomic-write.f90
index 3c55394021abf..e0116e3281820 100644
--- a/flang/test/Lower/OpenACC/acc-atomic-write.f90
+++ b/flang/test/Lower/OpenACC/acc-atomic-write.f90
@@ -2,7 +2,7 @@
! This test checks the lowering of atomic write
-!CHECK: func @_QQmain() attributes {fir.bindc_name = "acc_atomic_write_test"} {
+!CHECK: func @_QQmain() attributes {fir.bindc_name = "ACC_ATOMIC_WRITE_TEST"} {
!CHECK: %[[VAR_X:.*]] = fir.alloca i32 {bindc_name = "x", uniq_name = "_QFEx"}
!CHECK: %[[X_DECL:.*]]:2 = hlfir.declare %[[VAR_X]] {uniq_name = "_QFEx"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
!CHECK: %[[VAR_Y:.*]] = fir.alloca i32 {bindc_name = "y", uniq_name = "_QFEy"}
diff --git a/flang/test/Lower/OpenACC/acc-routine04.f90 b/flang/test/Lower/OpenACC/acc-routine04.f90
index f603376163901..655e2762b9694 100644
--- a/flang/test/Lower/OpenACC/acc-routine04.f90
+++ b/flang/test/Lower/OpenACC/acc-routine04.f90
@@ -30,5 +30,5 @@ subroutine sub2()
! CHECK: acc.routine @acc_routine_1 func(@_QFPsub2) seq
! CHECK: acc.routine @acc_routine_0 func(@_QMdummy_modPsub1) seq
! CHECK: func.func @_QMdummy_modPsub1(%arg0: !fir.ref<i32> {fir.bindc_name = "i"}) attributes {acc.routine_info = #acc.routine_info<[@acc_routine_0]>}
-! CHECK: func.func @_QQmain() attributes {fir.bindc_name = "test_acc_routine"}
+! CHECK: func.func @_QQmain() attributes {fir.bindc_name = "TEST_ACC_ROUTINE"}
! CHECK: func.func private @_QFPsub2() attributes {acc.routine_info = #acc.routine_info<[@acc_routine_1]>, fir.host_symbol = @_QQmain, llvm.linkage = #llvm.linkage<internal>}
diff --git a/flang/test/Lower/OpenMP/atomic-read.f90 b/flang/test/Lower/OpenMP/atomic-read.f90
index 68dcaac90eef5..30313e240efa3 100644
--- a/flang/test/Lower/OpenMP/atomic-read.f90
+++ b/flang/test/Lower/OpenMP/atomic-read.f90
@@ -4,7 +4,7 @@
! This test checks the lowering of atomic read
-!CHECK: func @_QQmain() attributes {fir.bindc_name = "ompatomic"} {
+!CHECK: func @_QQmain() attributes {fir.bindc_name = "OMPATOMIC"} {
!CHECK: %[[A_REF:.*]] = fir.alloca i32 {bindc_name = "a", uniq_name = "_QFEa"}
!CHECK: %[[A_DECL:.*]]:2 = hlfir.declare %[[A_REF]] {uniq_name = "_QFEa"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
!CHECK: %[[B_REF:.*]] = fir.alloca i32 {bindc_name = "b", uniq_name = "_QFEb"}
diff --git a/flang/test/Lower/OpenMP/atomic-write.f90 b/flang/test/Lower/OpenMP/atomic-write.f90
index 6eded49b0b15d..742fd475c0f04 100644
--- a/flang/test/Lower/OpenMP/atomic-write.f90
+++ b/flang/test/Lower/OpenMP/atomic-write.f90
@@ -4,7 +4,7 @@
! This test checks the lowering of atomic write
-!CHECK: func @_QQmain() attributes {fir.bindc_name = "ompatomicwrite"} {
+!CHECK: func @_QQmain() attributes {fir.bindc_name = "OMPATOMICWRITE"} {
!CHECK: %[[X_REF:.*]] = fir.alloca i32 {bindc_name = "x", uniq_name = "_QFEx"}
!CHECK: %[[X_DECL:.*]]:2 = hlfir.declare %[[X_REF]] {uniq_name = "_QFEx"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
!CHECK: %[[Y_REF:.*]] = fir.alloca i32 {bindc_name = "y", uniq_name = "_QFEy"}
diff --git a/flang/test/Lower/OpenMP/common-atomic-lowering.f90 b/flang/test/Lower/OpenMP/common-atomic-lowering.f90
index a53cc101024c6..f729bbb00ac8e 100644
--- a/flang/test/Lower/OpenMP/common-atomic-lowering.f90
+++ b/flang/test/Lower/OpenMP/common-atomic-lowering.f90
@@ -1,6 +1,6 @@
!RUN: %flang_fc1 -emit-hlfir -fopenmp %s -o - | FileCheck %s
-!CHECK: func.func @_QQmain() attributes {fir.bindc_name = "sample"} {
+!CHECK: func.func @_QQmain() attributes {fir.bindc_name = "SAMPLE"} {
!CHECK: %[[val_0:.*]] = fir.alloca i32 {bindc_name = "a", uniq_name = "_QFEa"}
!CHECK: %[[val_1:.*]]:2 = hlfir.declare %[[val_0]] {uniq_name = "_QFEa"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
!CHECK: %[[val_2:.*]] = fir.alloca i32 {bindc_name = "b", uniq_name = "_QFEb"}
diff --git a/flang/test/Lower/OpenMP/cray-pointers02.f90 b/flang/test/Lower/OpenMP/cray-pointers02.f90
index 19e4cd09fe50a..79d838702e4b0 100644
--- a/flang/test/Lower/OpenMP/cray-pointers02.f90
+++ b/flang/test/Lower/OpenMP/cray-pointers02.f90
@@ -1,7 +1,7 @@
! Test lowering of Cray pointee references.
! RUN: flang -fc1 -emit-hlfir -fopenmp %s -o - 2>&1 | FileCheck %s
-! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "test_cray_pointers_02"}
+! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "TEST_CRAY_POINTERS_02"}
program test_cray_pointers_02
implicit none
diff --git a/flang/test/Lower/OpenMP/default-clause-byref.f90 b/flang/test/Lower/OpenMP/default-clause-byref.f90
index c44c6bb966580..af51c4cc3e814 100644
--- a/flang/test/Lower/OpenMP/default-clause-byref.f90
+++ b/flang/test/Lower/OpenMP/default-clause-byref.f90
@@ -34,7 +34,7 @@
!CHECK: omp.yield(%[[PRIV_X]] : !fir.ref<i32>)
!CHECK: }
-!CHECK: func @_QQmain() attributes {fir.bindc_name = "default_clause_lowering"} {
+!CHECK: func @_QQmain() attributes {fir.bindc_name = "DEFAULT_CLAUSE_LOWERING"} {
!CHECK: %[[W:.*]] = fir.alloca i32 {bindc_name = "w", uniq_name = "_QFEw"}
!CHECK: %[[W_DECL:.*]]:2 = hlfir.declare %[[W]] {uniq_name = "_QFEw"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
!CHECK: %[[X:.*]] = fir.alloca i32 {bindc_name = "x", uniq_name = "_QFEx"}
diff --git a/flang/test/Lower/OpenMP/default-clause.f90 b/flang/test/Lower/OpenMP/default-clause.f90
index ee5f579f06b91..505fa4f0f5d63 100644
--- a/flang/test/Lower/OpenMP/default-clause.f90
+++ b/flang/test/Lower/OpenMP/default-clause.f90
@@ -8,7 +8,7 @@
! RUN: | FileCheck %s
-!CHECK: func @_QQmain() attributes {fir.bindc_name = "default_clause_lowering"} {
+!CHECK: func @_QQmain() attributes {fir.bindc_name = "DEFAULT_CLAUSE_LOWERING"} {
!CHECK: %[[W:.*]] = fir.alloca i32 {bindc_name = "w", uniq_name = "_QFEw"}
!CHECK: %[[W_DECL:.*]]:2 = hlfir.declare %[[W]] {uniq_name = "_QFEw"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
!CHECK: %[[X:.*]] = fir.alloca i32 {bindc_name = "x", uniq_name = "_QFEx"}
diff --git a/flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90 b/flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
index 4bfd5d8d19261..0036670317a8e 100644
--- a/flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
+++ b/flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
@@ -80,7 +80,7 @@ program reduce
! CHECK: omp.yield
! CHECK: }
-! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "reduce"} {
+! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "REDUCE"} {
! CHECK: %[[VAL_0:.*]] = fir.address_of(@_QFEi) : !fir.ref<i32>
! CHECK: %[[VAL_1:.*]]:2 = hlfir.declare %[[VAL_0]] {uniq_name = "_QFEi"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
! CHECK: %[[VAL_2:.*]] = fir.address_of(@_QFEr) : !fir.ref<!fir.box<!fir.heap<!fir.array<?xi32>>>>
diff --git a/flang/test/Lower/OpenMP/parallel-reduction-array-lb.f90 b/flang/test/Lower/OpenMP/parallel-reduction-array-lb.f90
index ec54294c7104f..ea0aa9ec3f53b 100644
--- a/flang/test/Lower/OpenMP/parallel-reduction-array-lb.f90
+++ b/flang/test/Lower/OpenMP/parallel-reduction-array-lb.f90
@@ -68,7 +68,7 @@ program reduce
! CHECK: omp.yield
! CHECK: }
-! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "reduce"} {
+! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "REDUCE"} {
! CHECK: %[[VAL_7:.*]] = fir.alloca !fir.box<!fir.array<3x2xi32>>
! CHECK: %[[VAL_0:.*]] = fir.address_of(@_QFEi) : !fir.ref<!fir.array<3x2xi32>>
! CHECK: %[[VAL_1:.*]] = arith.constant 2 : index
diff --git a/flang/test/Lower/OpenMP/parallel-reduction-array2.f90 b/flang/test/Lower/OpenMP/parallel-reduction-array2.f90
index 488ecc353af8e..eb0df2b3a17de 100644
--- a/flang/test/Lower/OpenMP/parallel-reduction-array2.f90
+++ b/flang/test/Lower/OpenMP/parallel-reduction-array2.f90
@@ -63,7 +63,7 @@ program reduce
! CHECK: omp.yield
! CHECK: }
-! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "reduce"} {
+! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "REDUCE"} {
! CHECK: %[[VAL_0:.*]] = fir.address_of(@_QFEi) : !fir.ref<!fir.array<3xi32>>
! CHECK: %[[VAL_1:.*]] = arith.constant 3 : index
! CHECK: %[[VAL_2:.*]] = fir.shape %[[VAL_1]] : (index) -> !fir.shape<1>
diff --git a/flang/test/Lower/OpenMP/parallel-reduction-byref.f90 b/flang/test/Lower/OpenMP/parallel-reduction-byref.f90
index 596276a99cafc..2caec0384a6ab 100644
--- a/flang/test/Lower/OpenMP/parallel-reduction-byref.f90
+++ b/flang/test/Lower/OpenMP/parallel-reduction-byref.f90
@@ -18,7 +18,7 @@
!CHECK: fir.store %[[CR]] to %[[C0]] : !fir.ref<i32>
!CHECK: omp.yield(%[[C0]] : !fir.ref<i32>)
!CHECK: }
-!CHECK: func.func @_QQmain() attributes {fir.bindc_name = "mn"} {
+!CHECK: func.func @_QQmain() attributes {fir.bindc_name = "MN"} {
!CHECK: %[[RED_ACCUM_REF:[_a-z0-9]+]] = fir.alloca i32 {bindc_name = "i", uniq_name = "_QFEi"}
!CHECK: %[[RED_ACCUM_DECL:[_a-z0-9]+]]:2 = hlfir.declare %[[RED_ACCUM_REF]] {uniq_name = "_QFEi"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
!CHECK: %[[C0:[_a-z0-9]+]] = arith.constant 0 : i32
diff --git a/flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90 b/flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
index f638688bc2cc1..3c1daa0eb983f 100644
--- a/flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
+++ b/flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
@@ -82,7 +82,7 @@ program reduce
! CHECK: omp.yield
! CHECK: }
-! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "reduce"} {
+! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "REDUCE"} {
! CHECK: %[[VAL_0:.*]] = fir.address_of(@_QFEi) : !fir.ref<i32>
! CHECK: %[[VAL_1:.*]]:2 = hlfir.declare %[[VAL_0]] {uniq_name = "_QFEi"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
! CHECK: %[[VAL_2:.*]] = fir.address_of(@_QFEr) : !fir.ref<!fir.box<!fir.ptr<!fir.array<?xi32>>>>
diff --git a/flang/test/Lower/OpenMP/parallel-reduction-rename.f90 b/flang/test/Lower/OpenMP/parallel-reduction-rename.f90
index c06343e997bfd..2be154f4bbaf5 100644
--- a/flang/test/Lower/OpenMP/parallel-reduction-rename.f90
+++ b/flang/test/Lower/OpenMP/parallel-reduction-rename.f90
@@ -25,7 +25,7 @@ end program main
! CHECK: omp.yield(%[[VAL_2]] : i32)
! CHECK: }
-! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "main"} {
+! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "MAIN"} {
! CHECK: %[[VAL_0:.*]] = fir.alloca i32 {bindc_name = "n", uniq_name = "_QFEn"}
! CHECK: %[[VAL_1:.*]]:2 = hlfir.declare %[[VAL_0]] {uniq_name = "_QFEn"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
! CHECK: %[[VAL_2:.*]] = arith.constant 0 : i32
diff --git a/flang/test/Lower/OpenMP/parallel-reduction.f90 b/flang/test/Lower/OpenMP/parallel-reduction.f90
index 612549fb32de5..15e8cc325916d 100644
--- a/flang/test/Lower/OpenMP/parallel-reduction.f90
+++ b/flang/test/Lower/OpenMP/parallel-reduction.f90
@@ -10,7 +10,7 @@
!CHECK: %[[CR:[_a-z0-9]+]] = arith.addi %[[C0]], %[[C1]] : i32
!CHECK: omp.yield(%[[CR]] : i32)
!CHECK: }
-!CHECK: func.func @_QQmain() attributes {fir.bindc_name = "mn"} {
+!CHECK: func.func @_QQmain() attributes {fir.bindc_name = "MN"} {
!CHECK: %[[RED_ACCUM_REF:[_a-z0-9]+]] = fir.alloca i32 {bindc_name = "i", uniq_name = "_QFEi"}
!CHECK: %[[RED_ACCUM_DECL:[_a-z0-9]+]]:2 = hlfir.declare %[[RED_ACCUM_REF]] {uniq_name = "_QFEi"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
!CHECK: %[[C0:[_a-z0-9]+]] = arith.constant 0 : i32
diff --git a/flang/test/Lower/OpenMP/sections.f90 b/flang/test/Lower/OpenMP/sections.f90
index d11925cafdc12..3d5c0326fb6b9 100644
--- a/flang/test/Lower/OpenMP/sections.f90
+++ b/flang/test/Lower/OpenMP/sections.f90
@@ -5,7 +5,7 @@
! RUN: %flang_fc1 -emit-hlfir %openmp_flags %s -o - | FileCheck %s
! RUN: bbc -hlfir -emit-hlfir %openmp_flags %s -o - | FileCheck %s
-!CHECK: func @_QQmain() attributes {fir.bindc_name = "sample"} {
+!CHECK: func @_QQmain() attributes {fir.bindc_name = "SAMPLE"} {
!CHECK: %[[COUNT:.*]] = fir.address_of(@_QFEcount) : !fir.ref<i32>
!CHECK: %[[COUNT_DECL:.*]]:2 = hlfir.declare %[[COUNT]] {uniq_name = "_QFEcount"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
!CHECK: %[[ETA:.*]] = fir.alloca f32 {bindc_name = "eta", uniq_name = "_QFEeta"}
diff --git a/flang/test/Lower/OpenMP/threadprivate-host-association-2.f90 b/flang/test/Lower/OpenMP/threadprivate-host-association-2.f90
index 5e54cef8c29db..5c90ef7d84f89 100644
--- a/flang/test/Lower/OpenMP/threadprivate-host-association-2.f90
+++ b/flang/test/Lower/OpenMP/threadprivate-host-association-2.f90
@@ -3,7 +3,7 @@
!RUN: %flang_fc1 -emit-hlfir -fopenmp %s -o - | FileCheck %s
-!CHECK: func.func @_QQmain() attributes {fir.bindc_name = "main"} {
+!CHECK: func.func @_QQmain() attributes {fir.bindc_name = "MAIN"} {
!CHECK: %[[A:.*]] = fir.alloca i32 {bindc_name = "a", uniq_name = "_QFEa"}
!CHECK: %[[A_DECL:.*]]:2 = hlfir.declare %[[A]] {fortran_attrs = #fir.var_attrs<internal_assoc>, uniq_name = "_QFEa"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
!CHECK: %[[A_ADDR:.*]] = fir.address_of(@_QFEa) : !fir.ref<i32>
diff --git a/flang/test/Lower/OpenMP/threadprivate-host-association-3.f90 b/flang/test/Lower/OpenMP/threadprivate-host-association-3.f90
index 21547b47cf381..0e61261e8853e 100644
--- a/flang/test/Lower/OpenMP/threadprivate-host-association-3.f90
+++ b/flang/test/Lower/OpenMP/threadprivate-host-association-3.f90
@@ -3,7 +3,7 @@
!RUN: %flang_fc1 -emit-hlfir -fopenmp %s -o - | FileCheck %s
-!CHECK: func.func @_QQmain() attributes {fir.bindc_name = "main"} {
+!CHECK: func.func @_QQmain() attributes {fir.bindc_name = "MAIN"} {
!CHECK: %[[A:.*]] = fir.alloca i32 {bindc_name = "a", uniq_name = "_QFEa"}
!CHECK: %[[A_DECL:.*]]:2 = hlfir.declare %[[A]] {fortran_attrs = #fir.var_attrs<internal_assoc>, uniq_name = "_QFEa"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
!CHECK: %[[A_ADDR:.*]] = fir.address_of(@_QFEa) : !fir.ref<i32>
diff --git a/flang/test/Lower/OpenMP/threadprivate-host-association.f90 b/flang/test/Lower/OpenMP/threadprivate-host-association.f90
index 7a27efa2f84aa..1887e8aa68fdc 100644
--- a/flang/test/Lower/OpenMP/threadprivate-host-association.f90
+++ b/flang/test/Lower/OpenMP/threadprivate-host-association.f90
@@ -3,7 +3,7 @@
!RUN: %flang_fc1 -emit-hlfir -fopenmp %s -o - | FileCheck %s
-!CHECK: func.func @_QQmain() attributes {fir.bindc_name = "main"} {
+!CHECK: func.func @_QQmain() attributes {fir.bindc_name = "MAIN"} {
!CHECK: %[[A:.*]] = fir.address_of(@_QFEa) : !fir.ref<i32>
!CHECK: %[[A_DECL:.*]]:2 = hlfir.declare %[[A]] {fortran_attrs = #fir.var_attrs<internal_assoc>, uniq_name = "_QFEa"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
!CHECK: %[[TP_A:.*]] = omp.threadprivate %[[A_DECL]]#0 : !fir.ref<i32> -> !fir.ref<i32>
diff --git a/flang/test/Lower/OpenMP/wsloop-chunks.f90 b/flang/test/Lower/OpenMP/wsloop-chunks.f90
index 29c02a3b3c8d5..f3f11d8c4a6c2 100644
--- a/flang/test/Lower/OpenMP/wsloop-chunks.f90
+++ b/flang/test/Lower/OpenMP/wsloop-chunks.f90
@@ -7,7 +7,7 @@ program wsloop
integer :: i
integer :: chunk
-! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "wsloop"} {
+! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "WSLOOP"} {
! CHECK: %[[CHUNK_REF:.*]] = fir.alloca i32 {bindc_name = "chunk", uniq_name = "_QFEchunk"}
! CHECK: %[[VAL_0:.*]]:2 = hlfir.declare %[[CHUNK_REF]] {uniq_name = "_QFEchunk"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
diff --git a/flang/test/Lower/OpenMP/wsloop-collapse.f90 b/flang/test/Lower/OpenMP/wsloop-collapse.f90
index a4d5cbdc03d3e..7ec40ab4b2f43 100644
--- a/flang/test/Lower/OpenMP/wsloop-collapse.f90
+++ b/flang/test/Lower/OpenMP/wsloop-collapse.f90
@@ -2,7 +2,7 @@
! RUN: bbc -fopenmp -emit-hlfir %s -o - | FileCheck %s
-!CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "wsloop_collapse"} {
+!CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "WSLOOP_COLLAPSE"} {
program wsloop_collapse
!CHECK: %[[VAL_6:.*]] = fir.alloca i32 {bindc_name = "a", uniq_name = "_QFEa"}
!CHECK: %[[VAL_7:.*]]:2 = hlfir.declare %[[VAL_6]] {uniq_name = "_QFEa"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
diff --git a/flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90 b/flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
index 58b68e5ec4cfd..e2f75bc8e4481 100644
--- a/flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
+++ b/flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
@@ -156,7 +156,7 @@ program reduce15
! CHECK: omp.yield
! CHECK: }
-! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "reduce15"} {
+! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "REDUCE15"} {
! CHECK: %[[VAL_0:.*]] = fir.address_of(@_QFEarr) : !fir.ref<!fir.box<!fir.heap<!fir.array<?xi32>>>>
! CHECK: %[[VAL_1:.*]]:2 = hlfir.declare %[[VAL_0]] {fortran_attrs = {{.*}}<allocatable>, uniq_name = "_QFEarr"} : (!fir.ref<!fir.box<!fir.heap<!fir.array<?xi32>>>>) -> (!fir.ref<!fir.box<!fir.heap<!fir.array<?xi32>>>>, !fir.ref<!fir.box<!fir.heap<!fir.array<?xi32>>>>)
! CHECK: %[[VAL_2:.*]] = fir.alloca i32 {bindc_name = "i", uniq_name = "_QFEi"}
diff --git a/flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90 b/flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
index 0a536eb34e7af..663851cba46c6 100644
--- a/flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
+++ b/flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
@@ -63,7 +63,7 @@ program reduce
! CHECK: omp.yield
! CHECK: }
-! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "reduce"} {
+! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "REDUCE"} {
! CHECK: %[[VAL_0:.*]] = fir.address_of(@_QFEi) : !fir.ref<i32>
! CHECK: %[[VAL_1:.*]]:2 = hlfir.declare %[[VAL_0]] {uniq_name = "_QFEi"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
! CHECK: %[[VAL_2:.*]] = fir.alloca !fir.box<!fir.heap<i32>> {bindc_name = "r", uniq_name = "_QFEr"}
diff --git a/flang/test/Lower/OpenMP/wsloop-reduction-array-lb.f90 b/flang/test/Lower/OpenMP/wsloop-reduction-array-lb.f90
index 9f0dd16002baf..2233a74600948 100644
--- a/flang/test/Lower/OpenMP/wsloop-reduction-array-lb.f90
+++ b/flang/test/Lower/OpenMP/wsloop-reduction-array-lb.f90
@@ -31,5 +31,5 @@ program reduce
! CHECK: omp.yield(%[[ARG0]] : !fir.ref<!fir.box<!fir.array<2xi32>>>)
! CHECK: }
-! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "reduce"} {
+! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "REDUCE"} {
! CHECK: omp.wsloop {{.*}} reduction(byref @add_reduction_byref_box_2xi32 %{{.*}} -> %{{.*}} : !fir.ref<!fir.box<!fir.array<2xi32>>>)
diff --git a/flang/test/Lower/OpenMP/wsloop-reduction-array-lb2.f90 b/flang/test/Lower/OpenMP/wsloop-reduction-array-lb2.f90
index 5ada623a0ed23..211bde19da8db 100644
--- a/flang/test/Lower/OpenMP/wsloop-reduction-array-lb2.f90
+++ b/flang/test/Lower/OpenMP/wsloop-reduction-array-lb2.f90
@@ -40,5 +40,5 @@ subroutine sub(a, lb, ub)
! CHECK: omp.yield(%[[ARG0]] : !fir.ref<!fir.box<!fir.array<?xi32>>>)
! CHECK: }
-! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "reduce"} {
+! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "REDUCE"} {
! CHECK: omp.wsloop {{.*}} reduction(byref @add_reduction_byref_box_Uxi32 %{{.*}} -> %{{.*}} : !fir.ref<!fir.box<!fir.array<?xi32>>>)
diff --git a/flang/test/Lower/OpenMP/wsloop-reduction-array.f90 b/flang/test/Lower/OpenMP/wsloop-reduction-array.f90
index 21261da49710c..b7882bcbc0d13 100644
--- a/flang/test/Lower/OpenMP/wsloop-reduction-array.f90
+++ b/flang/test/Lower/OpenMP/wsloop-reduction-array.f90
@@ -65,7 +65,7 @@ program reduce
! CHECK: omp.yield
! CHECK: }
-! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "reduce"} {
+! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "REDUCE"} {
! CHECK: %[[VAL_0:.*]] = fir.address_of(@_QFEi) : !fir.ref<i32>
! CHECK: %[[VAL_1:.*]]:2 = hlfir.declare %[[VAL_0]] {uniq_name = "_QFEi"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
! CHECK: %[[VAL_2:.*]] = fir.address_of(@_QFEr) : !fir.ref<!fir.array<2xi32>>
diff --git a/flang/test/Lower/OpenMP/wsloop-reduction-array2.f90 b/flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
index ab8dcf1f076c0..7d90335a13a87 100644
--- a/flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
+++ b/flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
@@ -65,7 +65,7 @@ program reduce
! CHECK: omp.yield
! CHECK: }
-! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "reduce"} {
+! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "REDUCE"} {
! CHECK: %[[VAL_0:.*]] = fir.address_of(@_QFEi) : !fir.ref<i32>
! CHECK: %[[VAL_1:.*]]:2 = hlfir.declare %[[VAL_0]] {uniq_name = "_QFEi"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
! CHECK: %[[VAL_2:.*]] = fir.address_of(@_QFEr) : !fir.ref<!fir.array<2xi32>>
diff --git a/flang/test/Lower/OpenMP/wsloop-reduction-min2.f90 b/flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
index 1e26f5a24d41e..d776bd7cfdd03 100644
--- a/flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
+++ b/flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
@@ -28,7 +28,7 @@ program reduce
! CHECK: omp.yield(%[[VAL_2]] : i32)
! CHECK: }
-! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "reduce"} {
+! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "REDUCE"} {
! CHECK: %[[VAL_0:.*]] = fir.address_of(@_QFEi) : !fir.ref<i32>
! CHECK: %[[VAL_1:.*]]:2 = hlfir.declare %[[VAL_0]] {uniq_name = "_QFEi"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
! CHECK: %[[VAL_2:.*]] = fir.address_of(@_QFEr) : !fir.ref<i32>
diff --git a/flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90 b/flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
index e0a3b469f40c1..5133db0347034 100644
--- a/flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
+++ b/flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
@@ -93,7 +93,7 @@ program main
! CHECK: omp.yield(%[[VAL_2]] : f64)
! CHECK: }
-! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "main"} {
+! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "MAIN"} {
! CHECK: %[[VAL_0:.*]] = fir.address_of(@_QFEarray) : !fir.ref<!fir.array<3x3xf64>>
! CHECK: %[[VAL_1:.*]] = arith.constant 3 : index
! CHECK: %[[VAL_2:.*]] = arith.constant 3 : index
diff --git a/flang/test/Lower/OpenMP/wsloop-reduction-pointer.f90 b/flang/test/Lower/OpenMP/wsloop-reduction-pointer.f90
index 40b4302f24cd4..27b726376fbeb 100644
--- a/flang/test/Lower/OpenMP/wsloop-reduction-pointer.f90
+++ b/flang/test/Lower/OpenMP/wsloop-reduction-pointer.f90
@@ -64,7 +64,7 @@ program reduce_pointer
! CHECK: omp.yield
! CHECK: }
-! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "reduce_pointer"} {
+! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "REDUCE_POINTER"} {
! CHECK: %[[VAL_0:.*]] = fir.alloca i32 {bindc_name = "i", uniq_name = "_QFEi"}
! CHECK: %[[VAL_1:.*]]:2 = hlfir.declare %[[VAL_0]] {uniq_name = "_QFEi"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
! CHECK: %[[VAL_2:.*]] = fir.alloca !fir.box<!fir.ptr<i32>> {bindc_name = "v", uniq_name = "_QFEv"}
diff --git a/flang/test/Lower/array-character.f90 b/flang/test/Lower/array-character.f90
index 1bc73dae44235..e2899d967c80d 100644
--- a/flang/test/Lower/array-character.f90
+++ b/flang/test/Lower/array-character.f90
@@ -32,7 +32,7 @@ program p
call charlit
end program p
-! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "p"} {
+! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "P"} {
! CHECK: %[[VAL_0:.*]] = arith.constant 4 : index
! CHECK: %[[VAL_1:.*]] = arith.constant 3 : index
! CHECK: %[[VAL_2:.*]] = fir.alloca !fir.array<3x!fir.char<1,4>> {bindc_name = "c1", uniq_name = "_QFEc1"}
diff --git a/flang/test/Lower/array-expression-slice-1.f90 b/flang/test/Lower/array-expression-slice-1.f90
index b597814bc0d9f..73943137cb18d 100644
--- a/flang/test/Lower/array-expression-slice-1.f90
+++ b/flang/test/Lower/array-expression-slice-1.f90
@@ -1,6 +1,6 @@
! RUN: bbc -hlfir=false -fwrapv -o - --outline-intrinsics %s | FileCheck %s
-! CHECK-LABEL: func @_QQmain() attributes {fir.bindc_name = "p"} {
+! CHECK-LABEL: func @_QQmain() attributes {fir.bindc_name = "P"} {
! CHECK-DAG: %[[VAL_0:.*]] = arith.constant 10 : index
! CHECK-DAG: %[[VAL_4:.*]] = arith.constant 2 : index
! CHECK-DAG: %[[VAL_5:.*]] = arith.constant 1 : index
diff --git a/flang/test/Lower/basic-program.f90 b/flang/test/Lower/basic-program.f90
index 5a0e4bdc7b4a1..7e5b40d9e2f0a 100644
--- a/flang/test/Lower/basic-program.f90
+++ b/flang/test/Lower/basic-program.f90
@@ -4,10 +4,10 @@
program basic
end program
-! CHECK: 1 Program basic
+! CHECK: 1 Program BASIC
! CHECK: 1 EndProgramStmt: end program
-! CHECK: End Program basic
+! CHECK: End Program BASIC
-! FIR-LABEL: func @_QQmain() attributes {fir.bindc_name = "basic"} {
+! FIR-LABEL: func @_QQmain() attributes {fir.bindc_name = "BASIC"} {
! FIR: return
! FIR: }
diff --git a/flang/test/Lower/big-integer-parameter.f90 b/flang/test/Lower/big-integer-parameter.f90
index a413b1224ebc2..ca90b8adfb318 100644
--- a/flang/test/Lower/big-integer-parameter.f90
+++ b/flang/test/Lower/big-integer-parameter.f90
@@ -13,7 +13,7 @@ program i128
print*,y
end
-! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "i128"} {
+! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "I128"} {
! CHECK-COUNT-2: %{{.*}} = fir.call @_FortranAioOutputInteger128(%{{.*}}, %{{.*}}) {{.*}}: (!fir.ref<i8>, i128) -> i1
diff --git a/flang/test/Lower/derived-type-finalization.f90 b/flang/test/Lower/derived-type-finalization.f90
index 3ea58cd719f4a..71cef34899603 100644
--- a/flang/test/Lower/derived-type-finalization.f90
+++ b/flang/test/Lower/derived-type-finalization.f90
@@ -255,5 +255,5 @@ program p
type(t1) :: t
end program
-! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "p"} {
+! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "P"} {
! CHECK-NOT: fir.call @_FortranADestroy
diff --git a/flang/test/Lower/location.f90 b/flang/test/Lower/location.f90
index a6ece31bbebed..95bf2260fc107 100644
--- a/flang/test/Lower/location.f90
+++ b/flang/test/Lower/location.f90
@@ -5,7 +5,7 @@ program test
end
-! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "test"} {
+! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "TEST"} {
! CHECK: fir.call @_FortranAioOutputAscii(%{{.*}}, %{{.*}}, %{{.*}}) fastmath<contract> : (!fir.ref<i8>, !fir.ref<i8>, i64) -> i1 loc(fused<#fir<loc_kind_array[ base, inclusion, inclusion]>>["{{.*}}location1.inc":1:10, "{{.*}}location0.inc":1:1, "{{.*}}location.f90":4:1])
! CHECK: return loc("{{.*}}location.f90":6:1)
! CHECK: } loc("{{.*}}location.f90":3:1)
diff --git a/flang/test/Lower/nested-where.f90 b/flang/test/Lower/nested-where.f90
index ab457280b80ce..28aced2325813 100644
--- a/flang/test/Lower/nested-where.f90
+++ b/flang/test/Lower/nested-where.f90
@@ -1,6 +1,6 @@
! RUN: bbc -emit-fir -hlfir=false %s -o - | FileCheck %s
-! CHECK-LABEL: func @_QQmain() attributes {fir.bindc_name = "nested_where"} {
+! CHECK-LABEL: func @_QQmain() attributes {fir.bindc_name = "NESTED_WHERE"} {
program nested_where
! CHECK: %[[VAL_0:.*]] = fir.alloca i32 {adapt.valuebyref, bindc_name = "i"}
diff --git a/flang/test/Lower/polymorphic.f90 b/flang/test/Lower/polymorphic.f90
index b7be5f685d9e3..a84b495dd09d0 100644
--- a/flang/test/Lower/polymorphic.f90
+++ b/flang/test/Lower/polymorphic.f90
@@ -1146,7 +1146,7 @@ program test
l = i < o%inner
end program
-! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "test"} {
+! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "TEST"} {
! CHECK: %[[ADDR_O:.*]] = fir.address_of(@_QFEo) : !fir.ref<!fir.box<!fir.heap<!fir.type<_QMpolymorphic_testTouter{inner:!fir.type<_QMpolymorphic_testTp1{a:i32,b:i32}>}>>>>
! CHECK: %[[BOX_NONE:.*]] = fir.convert %[[ADDR_O]] : (!fir.ref<!fir.box<!fir.heap<!fir.type<_QMpolymorphic_testTouter{inner:!fir.type<_QMpolymorphic_testTp1{a:i32,b:i32}>}>>>>) -> !fir.ref<!fir.box<none>>
! CHECK: %{{.*}} = fir.call @_FortranAAllocatableAllocate(%[[BOX_NONE]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref<!fir.box<none>>, !fir.ref<i64>, i1, !fir.box<none>, !fir.ref<i8>, i32) -> i32
diff --git a/flang/test/Lower/pre-fir-tree02.f90 b/flang/test/Lower/pre-fir-tree02.f90
index f4fa626ba6548..65c33e9b364fe 100644
--- a/flang/test/Lower/pre-fir-tree02.f90
+++ b/flang/test/Lower/pre-fir-tree02.f90
@@ -3,7 +3,7 @@
! Test Pre-FIR Tree captures all the intended nodes from the parse-tree
! Coarray and OpenMP related nodes are tested in other files.
-! CHECK: Program test_prog
+! CHECK: Program TEST_PROG
program test_prog
! Check specification part is not part of the tree.
interface
diff --git a/flang/test/Lower/pre-fir-tree03.f90 b/flang/test/Lower/pre-fir-tree03.f90
index 313dab4d6ec7c..1de66e3f8d016 100644
--- a/flang/test/Lower/pre-fir-tree03.f90
+++ b/flang/test/Lower/pre-fir-tree03.f90
@@ -2,7 +2,7 @@
! Test Pre-FIR Tree captures OpenMP related constructs
-! CHECK: Program test_omp
+! CHECK: Program TEST_OMP
program test_omp
! CHECK: PrintStmt
print *, "sequential"
diff --git a/flang/test/Lower/pre-fir-tree06.f90 b/flang/test/Lower/pre-fir-tree06.f90
index f84bcd8b58b2d..ed1e76cb375bd 100644
--- a/flang/test/Lower/pre-fir-tree06.f90
+++ b/flang/test/Lower/pre-fir-tree06.f90
@@ -25,13 +25,13 @@ subroutine sub2()
end
! CHECK: End Module m2
-! CHECK: Program main
+! CHECK: Program MAIN
program main
real :: y
! CHECK-NEXT: OpenMPDeclarativeConstruct
!$omp threadprivate(y)
end
-! CHECK: End Program main
+! CHECK: End Program MAIN
! CHECK: Subroutine sub1
subroutine sub1()
diff --git a/flang/test/Lower/program-units-fir-mangling.f90 b/flang/test/Lower/program-units-fir-mangling.f90
index e0af6f065f34d..65940b4e1ff17 100644
--- a/flang/test/Lower/program-units-fir-mangling.f90
+++ b/flang/test/Lower/program-units-fir-mangling.f90
@@ -124,7 +124,7 @@ subroutine should_not_collide()
! CHECK: }
end subroutine
-! CHECK-LABEL: func @_QQmain() attributes {fir.bindc_name = "test"} {
+! CHECK-LABEL: func @_QQmain() attributes {fir.bindc_name = "TEST"} {
program test
! CHECK: }
contains
diff --git a/flang/test/Lower/return-statement.f90 b/flang/test/Lower/return-statement.f90
index 6351a6859eb4f..8ab69e3146e2f 100644
--- a/flang/test/Lower/return-statement.f90
+++ b/flang/test/Lower/return-statement.f90
@@ -4,7 +4,7 @@ program basic
return
end program
-! CHECK-LABEL: func @_QQmain() attributes {fir.bindc_name = "basic"} {
+! CHECK-LABEL: func @_QQmain() attributes {fir.bindc_name = "BASIC"} {
! CHECK: return
! CHECK: }
diff --git a/flang/test/Lower/volatile-openmp1.f90 b/flang/test/Lower/volatile-openmp1.f90
index 163db953b6b80..07d81a1aeb240 100644
--- a/flang/test/Lower/volatile-openmp1.f90
+++ b/flang/test/Lower/volatile-openmp1.f90
@@ -13,7 +13,7 @@ program main
!$omp end parallel
end program
-! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "main"} {
+! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "MAIN"} {
! CHECK: %[[VAL_0:.*]] = arith.constant 1 : i32
! CHECK: %[[VAL_1:.*]] = arith.constant 1000 : i32
! CHECK: %[[VAL_2:.*]] = arith.constant 0 : i32
diff --git a/flang/test/Lower/volatile-string.f90 b/flang/test/Lower/volatile-string.f90
index 88b21d7b245e9..f263db7abb5fc 100644
--- a/flang/test/Lower/volatile-string.f90
+++ b/flang/test/Lower/volatile-string.f90
@@ -21,7 +21,7 @@ subroutine assign_different_length(string)
end subroutine
end program
-! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "p"} {
+! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "P"} {
! CHECK: %[[VAL_0:.*]] = arith.constant 11 : i32
! CHECK: %[[VAL_1:.*]] = arith.constant 0 : index
! CHECK: %[[VAL_2:.*]] = arith.constant true
diff --git a/flang/test/Lower/volatile3.f90 b/flang/test/Lower/volatile3.f90
index 8825f8f3afbcb..a32f29d2bb9e7 100644
--- a/flang/test/Lower/volatile3.f90
+++ b/flang/test/Lower/volatile3.f90
@@ -70,7 +70,7 @@ subroutine sub_select_rank(arr)
end program
-! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "p"} {
+! CHECK-LABEL: func.func @_QQmain() attributes {fir.bindc_name = "P"} {
! CHECK: %[[VAL_0:.*]] = arith.constant 1 : index
! CHECK: %[[VAL_1:.*]] = arith.constant 0 : index
! CHECK: %[[VAL_2:.*]] = arith.constant 10 : index
diff --git a/flang/test/Parser/acc-unparse.f90 b/flang/test/Parser/acc-unparse.f90
index 62e0d4487f3f7..12e6dec19f272 100644
--- a/flang/test/Parser/acc-unparse.f90
+++ b/flang/test/Parser/acc-unparse.f90
@@ -15,7 +15,7 @@ program bug47659
end do label1
end program
-!CHECK-LABEL: PROGRAM bug47659
+!CHECK-LABEL: PROGRAM BUG47659
!CHECK: !$ACC PARALLEL LOOP
diff --git a/flang/test/Semantics/OpenACC/acc-symbols01.f90 b/flang/test/Semantics/OpenACC/acc-symbols01.f90
index 375445bad13a5..ea22f41197aa7 100644
--- a/flang/test/Semantics/OpenACC/acc-symbols01.f90
+++ b/flang/test/Semantics/OpenACC/acc-symbols01.f90
@@ -1,6 +1,6 @@
! RUN: %python %S/../test_symbols.py %s %flang_fc1 -fopenacc
-!DEF: /mm MainProgram
+!DEF: /MM MainProgram
program mm
!DEF: /mm/x ObjectEntity REAL(4)
!DEF: /mm/y ObjectEntity REAL(4)
diff --git a/flang/test/Semantics/OpenMP/critical_within_default.f90 b/flang/test/Semantics/OpenMP/critical_within_default.f90
index dd972e6e52949..a5fe30eeb7de0 100644
--- a/flang/test/Semantics/OpenMP/critical_within_default.f90
+++ b/flang/test/Semantics/OpenMP/critical_within_default.f90
@@ -1,7 +1,7 @@
! RUN: %flang_fc1 -fopenmp -fdebug-dump-symbols %s | FileCheck %s
! Test that we do not make a private copy of the critical name
-!CHECK: MainProgram scope: mn
+!CHECK: MainProgram scope: MN
!CHECK-NEXT: j size=4 offset=0: ObjectEntity type: INTEGER(4)
!CHECK-NEXT: OtherConstruct scope:
!CHECK-NEXT: j (OmpPrivate): HostAssoc
diff --git a/flang/test/Semantics/OpenMP/declare-mapper-symbols.f90 b/flang/test/Semantics/OpenMP/declare-mapper-symbols.f90
index 06f41ab8ce76f..e57a5c0c1cea6 100644
--- a/flang/test/Semantics/OpenMP/declare-mapper-symbols.f90
+++ b/flang/test/Semantics/OpenMP/declare-mapper-symbols.f90
@@ -1,7 +1,7 @@
! RUN: %flang_fc1 -fdebug-dump-symbols -fopenmp -fopenmp-version=50 %s | FileCheck %s
program main
-!CHECK-LABEL: MainProgram scope: main
+!CHECK-LABEL: MainProgram scope: MAIN
implicit none
type ty
diff --git a/flang/test/Semantics/OpenMP/declare-reduction-mangled.f90 b/flang/test/Semantics/OpenMP/declare-reduction-mangled.f90
index 9d0a097fb1991..fc977f2f1b839 100644
--- a/flang/test/Semantics/OpenMP/declare-reduction-mangled.f90
+++ b/flang/test/Semantics/OpenMP/declare-reduction-mangled.f90
@@ -17,7 +17,7 @@ end function mymax
end module mymod
program omp_examples
-!CHECK-LABEL: MainProgram scope: omp_examples
+!CHECK-LABEL: MainProgram scope: OMP_EXAMPLES
use mymod
implicit none
integer, parameter :: n = 100
diff --git a/flang/test/Semantics/OpenMP/declare-reduction-operators.f90 b/flang/test/Semantics/OpenMP/declare-reduction-operators.f90
index d7a9f2fc0a36b..84dbe1af01877 100644
--- a/flang/test/Semantics/OpenMP/declare-reduction-operators.f90
+++ b/flang/test/Semantics/OpenMP/declare-reduction-operators.f90
@@ -49,7 +49,7 @@ function my_add(x, y)
end module m1
program test_vector
-!CHECK-LABEL: MainProgram scope: test_vector
+!CHECK-LABEL: MainProgram scope: TEST_VECTOR
use vector_mod
!CHECK: add_vectors (Function): Use from add_vectors in vector_mod
implicit none
diff --git a/flang/test/Semantics/OpenMP/declare-reduction-renamedop.f90 b/flang/test/Semantics/OpenMP/declare-reduction-renamedop.f90
index 12e80cbf7b327..9cd638d796091 100644
--- a/flang/test/Semantics/OpenMP/declare-reduction-renamedop.f90
+++ b/flang/test/Semantics/OpenMP/declare-reduction-renamedop.f90
@@ -22,7 +22,7 @@ end function my_mul
end module module1
program test_omp_reduction
-!CHECK: MainProgram scope: test_omp_reduction
+!CHECK: MainProgram scope: TEST_OMP_REDUCTION
use module1, only: t1, operator(.modmul.) => operator(.mul.)
!CHECK: .modmul. (Function): Use from .mul. in module1
diff --git a/flang/test/Semantics/OpenMP/declare-reduction.f90 b/flang/test/Semantics/OpenMP/declare-reduction.f90
index ddca38fd57812..1f39c57c54ad1 100644
--- a/flang/test/Semantics/OpenMP/declare-reduction.f90
+++ b/flang/test/Semantics/OpenMP/declare-reduction.f90
@@ -31,7 +31,7 @@ end subroutine initme
end function func
program main
-!CHECK-LABEL: MainProgram scope: main
+!CHECK-LABEL: MainProgram scope: MAIN
!$omp declare reduction (my_add_red : integer : omp_out = omp_out + omp_in) initializer (omp_priv=0)
diff --git a/flang/test/Semantics/OpenMP/do-schedule03.f90 b/flang/test/Semantics/OpenMP/do-schedule03.f90
index 8787b094d581a..375f3920b57ad 100644
--- a/flang/test/Semantics/OpenMP/do-schedule03.f90
+++ b/flang/test/Semantics/OpenMP/do-schedule03.f90
@@ -2,26 +2,26 @@
! OpenMP Version 4.5
! 2.7.1 Schedule Clause
! Test that does not catch non constant integer expressions like xx - xx.
- !DEF: /ompdoschedule MainProgram
+ !DEF: /OMPDOSCHEDULE MainProgram
program ompdoschedule
- !DEF: /ompdoschedule/a ObjectEntity REAL(4)
- !DEF: /ompdoschedule/y ObjectEntity REAL(4)
- !DEF: /ompdoschedule/z ObjectEntity REAL(4)
+ !DEF: /OMPDOSCHEDULE/a ObjectEntity REAL(4)
+ !DEF: /OMPDOSCHEDULE/y ObjectEntity REAL(4)
+ !DEF: /OMPDOSCHEDULE/z ObjectEntity REAL(4)
real a(100),y(100),z(100)
- !DEF: /ompdoschedule/b ObjectEntity INTEGER(4)
- !DEF: /ompdoschedule/i ObjectEntity INTEGER(4)
- !DEF: /ompdoschedule/n ObjectEntity INTEGER(4)
+ !DEF: /OMPDOSCHEDULE/b ObjectEntity INTEGER(4)
+ !DEF: /OMPDOSCHEDULE/i ObjectEntity INTEGER(4)
+ !DEF: /OMPDOSCHEDULE/n ObjectEntity INTEGER(4)
integer b,i,n
- !REF: /ompdoschedule/b
+ !REF: /OMPDOSCHEDULE/b
b = 10
!$omp do schedule(static,b-b)
- !DEF: /ompdoschedule/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
- !REF: /ompdoschedule/n
+ !DEF: /OMPDOSCHEDULE/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !REF: /OMPDOSCHEDULE/n
do i = 2,n+1
- !REF: /ompdoschedule/y
- !REF: /ompdoschedule/OtherConstruct1/i
- !REF: /ompdoschedule/z
- !REF: /ompdoschedule/a
+ !REF: /OMPDOSCHEDULE/y
+ !REF: /OMPDOSCHEDULE/OtherConstruct1/i
+ !REF: /OMPDOSCHEDULE/z
+ !REF: /OMPDOSCHEDULE/a
y(i) = z(i-1) + a(i)
end do
!$omp end do
diff --git a/flang/test/Semantics/OpenMP/do01-positivecase.f90 b/flang/test/Semantics/OpenMP/do01-positivecase.f90
index 905fdbaf18476..a4a28f6530d7b 100644
--- a/flang/test/Semantics/OpenMP/do01-positivecase.f90
+++ b/flang/test/Semantics/OpenMP/do01-positivecase.f90
@@ -4,13 +4,13 @@
! The loop iteration variable may not appear in a firstprivate directive.
! A positive case
-!DEF: /omp_do MainProgram
+!DEF: /OMP_DO MainProgram
program omp_do
- !DEF: /omp_do/i ObjectEntity INTEGER(4)
+ !DEF: /OMP_DO/i ObjectEntity INTEGER(4)
integer i
!$omp do firstprivate(k)
- !DEF: /omp_do/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_DO/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do i=1,10
print *, "Hello"
end do
diff --git a/flang/test/Semantics/OpenMP/do04-positivecase.f90 b/flang/test/Semantics/OpenMP/do04-positivecase.f90
index eb2d67bb8ceb2..0b0c661687dc2 100644
--- a/flang/test/Semantics/OpenMP/do04-positivecase.f90
+++ b/flang/test/Semantics/OpenMP/do04-positivecase.f90
@@ -2,18 +2,18 @@
! OpenMP Version 4.5
! 2.7.1 Do Loop Constructs
-!DEF: /omp_do1 MainProgram
+!DEF: /OMP_DO1 MainProgram
program omp_do1
- !DEF: /omp_do1/i ObjectEntity INTEGER(4)
- !DEF: /omp_do1/j ObjectEntity INTEGER(4)
- !DEF: /omp_do1/k (OmpThreadprivate) ObjectEntity INTEGER(4)
- !DEF: /omp_do1/n (OmpThreadprivate) ObjectEntity INTEGER(4)
+ !DEF: /OMP_DO1/i ObjectEntity INTEGER(4)
+ !DEF: /OMP_DO1/j ObjectEntity INTEGER(4)
+ !DEF: /OMP_DO1/k (OmpThreadprivate) ObjectEntity INTEGER(4)
+ !DEF: /OMP_DO1/n (OmpThreadprivate) ObjectEntity INTEGER(4)
integer i, j, k, n
!$omp threadprivate (k,n)
!$omp do
- !DEF: /omp_do1/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_DO1/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do i=1,10
- !REF: /omp_do1/j
+ !REF: /OMP_DO1/j
do j=1,10
print *, "Hello"
end do
diff --git a/flang/test/Semantics/OpenMP/do05-positivecase.f90 b/flang/test/Semantics/OpenMP/do05-positivecase.f90
index eda04610535c2..07b12dd1d4d23 100644
--- a/flang/test/Semantics/OpenMP/do05-positivecase.f90
+++ b/flang/test/Semantics/OpenMP/do05-positivecase.f90
@@ -3,13 +3,13 @@
! 2.7.1 Loop Construct restrictions on single directive.
! A positive case
-!DEF: /omp_do MainProgram
+!DEF: /OMP_DO MainProgram
program omp_do
- !DEF: /omp_do/i ObjectEntity INTEGER(4)
- !DEF: /omp_do/n ObjectEntity INTEGER(4)
+ !DEF: /OMP_DO/i ObjectEntity INTEGER(4)
+ !DEF: /OMP_DO/n ObjectEntity INTEGER(4)
integer i,n
!$omp parallel
- !DEF: /omp_do/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_DO/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do i=1,10
!$omp single
print *, "hello"
@@ -19,13 +19,13 @@ program omp_do
!$omp parallel default(shared)
!$omp do
- !DEF: /omp_do/OtherConstruct2/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
- !DEF: /omp_do/OtherConstruct2/OtherConstruct1/n HostAssoc INTEGER(4)
+ !DEF: /OMP_DO/OtherConstruct2/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_DO/OtherConstruct2/OtherConstruct1/n HostAssoc INTEGER(4)
do i=1,n
!$omp parallel
!$omp single
!DEF: /work EXTERNAL (Subroutine) ProcEntity
- !DEF: /omp_do/OtherConstruct2/OtherConstruct1/OtherConstruct1/OtherConstruct1/i HostAssoc INTEGER(4)
+ !DEF: /OMP_DO/OtherConstruct2/OtherConstruct1/OtherConstruct1/OtherConstruct1/i HostAssoc INTEGER(4)
call work(i, 1)
!$omp end single
!$omp end parallel
@@ -34,7 +34,7 @@ program omp_do
!$omp end parallel
!$omp parallel private(i)
- !DEF: /omp_do/OtherConstruct3/i (OmpPrivate, OmpExplicit) HostAssoc INTEGER(4)
+ !DEF: /OMP_DO/OtherConstruct3/i (OmpPrivate, OmpExplicit) HostAssoc INTEGER(4)
do i=1,10
!$omp single
print *, "hello"
@@ -43,32 +43,32 @@ program omp_do
!$omp end parallel
!$omp target teams distribute parallel do
- !DEF:/omp_do/OtherConstruct4/i (OmpPrivate ,OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF:/OMP_DO/OtherConstruct4/i (OmpPrivate ,OmpPreDetermined) HostAssoc INTEGER(4)
do i=1,100
- !REF:/omp_do/OtherConstruct4/i
+ !REF:/OMP_DO/OtherConstruct4/i
if(i<10) cycle
end do
!$omp end target teams distribute parallel do
!$omp target teams distribute parallel do simd
- !DEF:/omp_do/OtherConstruct5/i (OmpLinear,OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF:/OMP_DO/OtherConstruct5/i (OmpLinear,OmpPreDetermined) HostAssoc INTEGER(4)
do i=1,100
- !REF:/omp_do/OtherConstruct5/i
+ !REF:/OMP_DO/OtherConstruct5/i
if(i<10) cycle
end do
!$omp end target teams distribute parallel do simd
!$omp target teams distribute
- !DEF: /omp_do/OtherConstruct6/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_DO/OtherConstruct6/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do i=1,100
- !REF: /omp_do/OtherConstruct6/i
+ !REF: /OMP_DO/OtherConstruct6/i
if(i < 5) cycle
end do
!$omp target teams distribute simd
- !DEF: /omp_do/OtherConstruct7/i (OmpLinear, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_DO/OtherConstruct7/i (OmpLinear, OmpPreDetermined) HostAssoc INTEGER(4)
do i=1,100
- !REF: /omp_do/OtherConstruct7/i
+ !REF: /OMP_DO/OtherConstruct7/i
if(i < 5) cycle
end do
end program omp_do
diff --git a/flang/test/Semantics/OpenMP/do06-positivecases.f90 b/flang/test/Semantics/OpenMP/do06-positivecases.f90
index 2713b55fa2ecb..4d45800298a29 100644
--- a/flang/test/Semantics/OpenMP/do06-positivecases.f90
+++ b/flang/test/Semantics/OpenMP/do06-positivecases.f90
@@ -5,14 +5,14 @@
! region ever binds to a loop region arising from the loop construct.
! A positive case
-!DEF: /omp_do MainProgram
+!DEF: /OMP_DO MainProgram
program omp_do
- !DEF: /omp_do/i ObjectEntity INTEGER(4)
- !DEF: /omp_do/j ObjectEntity INTEGER(4)
- !DEF: /omp_do/k ObjectEntity INTEGER(4)
+ !DEF: /OMP_DO/i ObjectEntity INTEGER(4)
+ !DEF: /OMP_DO/j ObjectEntity INTEGER(4)
+ !DEF: /OMP_DO/k ObjectEntity INTEGER(4)
integer i, j, k
!$omp do ordered
- !DEF: /omp_do/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_DO/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do i=1,10
!$omp ordered
!DEF: /my_func EXTERNAL (Subroutine) ProcEntity
diff --git a/flang/test/Semantics/OpenMP/do11.f90 b/flang/test/Semantics/OpenMP/do11.f90
index faab457efff3c..886a9f7ae6081 100644
--- a/flang/test/Semantics/OpenMP/do11.f90
+++ b/flang/test/Semantics/OpenMP/do11.f90
@@ -2,34 +2,34 @@
! OpenMP Version 4.5
! 2.7.1 Do Loop Constructs
-!DEF: /omp_do MainProgram
+!DEF: /OMP_DO MainProgram
program omp_do
- !DEF: /omp_do/i ObjectEntity INTEGER(4)
- !DEF: /omp_do/j ObjectEntity INTEGER(4)
- !DEF: /omp_do/k ObjectEntity INTEGER(4)
+ !DEF: /OMP_DO/i ObjectEntity INTEGER(4)
+ !DEF: /OMP_DO/j ObjectEntity INTEGER(4)
+ !DEF: /OMP_DO/k ObjectEntity INTEGER(4)
integer i, j, k
!$omp do
- !DEF: /omp_do/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_DO/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do i=1,10
- !REF: /omp_do/j
+ !REF: /OMP_DO/j
do j=1,10
- !REF: /omp_do/OtherConstruct1/i
- !REF: /omp_do/j
+ !REF: /OMP_DO/OtherConstruct1/i
+ !REF: /OMP_DO/j
print *, "it", i, j
end do
end do
!$omp end do
end program omp_do
-!DEF: /omp_do2 (Subroutine)Subprogram
+!DEF: /OMP_DO2 (Subroutine)Subprogram
subroutine omp_do2
- !DEF: /omp_do2/i ObjectEntity INTEGER(4)
- !DEF: /omp_do2/k ObjectEntity INTEGER(4)
+ !DEF: /OMP_DO2/i ObjectEntity INTEGER(4)
+ !DEF: /OMP_DO2/k ObjectEntity INTEGER(4)
integer :: i = 0, k
!$omp do
- !DEF: /omp_do2/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_DO2/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do i=1,10
- !REF: /omp_do2/OtherConstruct1/i
+ !REF: /OMP_DO2/OtherConstruct1/i
print *, "it", i
end do
!$omp end do
diff --git a/flang/test/Semantics/OpenMP/do12.f90 b/flang/test/Semantics/OpenMP/do12.f90
index a057a246f7a99..f36a230426197 100644
--- a/flang/test/Semantics/OpenMP/do12.f90
+++ b/flang/test/Semantics/OpenMP/do12.f90
@@ -2,20 +2,20 @@
! OpenMP Version 4.5
! 2.7.1 Do Loop constructs.
-!DEF: /omp_cycle MainProgram
+!DEF: /OMP_CYCLE MainProgram
program omp_cycle
!$omp do collapse(1)
- !DEF: /omp_cycle/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_CYCLE/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do i=0,10
- !REF: /omp_cycle/OtherConstruct1/i
+ !REF: /OMP_CYCLE/OtherConstruct1/i
if (i<1) cycle
- !DEF: /omp_cycle/j (Implicit) ObjectEntity INTEGER(4)
+ !DEF: /OMP_CYCLE/j (Implicit) ObjectEntity INTEGER(4)
do j=0,10
- !DEF: /omp_cycle/k (Implicit) ObjectEntity INTEGER(4)
+ !DEF: /OMP_CYCLE/k (Implicit) ObjectEntity INTEGER(4)
do k=0,10
- !REF: /omp_cycle/OtherConstruct1/i
- !REF: /omp_cycle/j
- !REF: /omp_cycle/k
+ !REF: /OMP_CYCLE/OtherConstruct1/i
+ !REF: /OMP_CYCLE/j
+ !REF: /OMP_CYCLE/k
print *, i, j, k
end do
end do
@@ -23,17 +23,17 @@ program omp_cycle
!$omp end do
!$omp do collapse(1)
- !DEF: /omp_cycle/OtherConstruct2/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_CYCLE/OtherConstruct2/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do i=0,10
- !REF: /omp_cycle/j
+ !REF: /OMP_CYCLE/j
do j=0,10
- !REF: /omp_cycle/OtherConstruct2/i
+ !REF: /OMP_CYCLE/OtherConstruct2/i
if (i<1) cycle
- !REF: /omp_cycle/k
+ !REF: /OMP_CYCLE/k
do k=0,10
- !REF: /omp_cycle/OtherConstruct2/i
- !REF: /omp_cycle/j
- !REF: /omp_cycle/k
+ !REF: /OMP_CYCLE/OtherConstruct2/i
+ !REF: /OMP_CYCLE/j
+ !REF: /OMP_CYCLE/k
print *, i, j, k
end do
end do
@@ -41,17 +41,17 @@ program omp_cycle
!$omp end do
!$omp do collapse(2)
- !DEF: /omp_cycle/OtherConstruct3/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_CYCLE/OtherConstruct3/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do i=0,10
- !DEF: /omp_cycle/OtherConstruct3/j (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_CYCLE/OtherConstruct3/j (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do j=0,10
- !REF: /omp_cycle/k
+ !REF: /OMP_CYCLE/k
do k=0,10
- !REF: /omp_cycle/OtherConstruct3/i
+ !REF: /OMP_CYCLE/OtherConstruct3/i
if (i<1) cycle
- !REF: /omp_cycle/OtherConstruct3/i
- !REF: /omp_cycle/OtherConstruct3/j
- !REF: /omp_cycle/k
+ !REF: /OMP_CYCLE/OtherConstruct3/i
+ !REF: /OMP_CYCLE/OtherConstruct3/j
+ !REF: /OMP_CYCLE/k
print *, i, j, k
end do
end do
@@ -59,17 +59,17 @@ program omp_cycle
!$omp end do
!$omp do collapse(3)
- !DEF: /omp_cycle/OtherConstruct4/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_CYCLE/OtherConstruct4/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do i=0,10
- !DEF: /omp_cycle/OtherConstruct4/j (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_CYCLE/OtherConstruct4/j (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do j=0,10
- !DEF: /omp_cycle/OtherConstruct4/k (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_CYCLE/OtherConstruct4/k (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do k=0,10
- !REF: /omp_cycle/OtherConstruct4/i
+ !REF: /OMP_CYCLE/OtherConstruct4/i
if (i<1) cycle
- !REF: /omp_cycle/OtherConstruct4/i
- !REF: /omp_cycle/OtherConstruct4/j
- !REF: /omp_cycle/OtherConstruct4/k
+ !REF: /OMP_CYCLE/OtherConstruct4/i
+ !REF: /OMP_CYCLE/OtherConstruct4/j
+ !REF: /OMP_CYCLE/OtherConstruct4/k
print *, i, j, k
end do
end do
@@ -77,20 +77,20 @@ program omp_cycle
!$omp end do
!$omp do collapse(3)
- !DEF: /omp_cycle/OtherConstruct5/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_CYCLE/OtherConstruct5/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
foo:do i=0,10
- !DEF: /omp_cycle/OtherConstruct5/j (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_CYCLE/OtherConstruct5/j (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
foo1:do j=0,10
- !DEF: /omp_cycle/OtherConstruct5/k (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_CYCLE/OtherConstruct5/k (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
foo2:do k=0,10
- !REF: /omp_cycle/OtherConstruct5/i
+ !REF: /OMP_CYCLE/OtherConstruct5/i
if (i<1) cycle foo2
- !REF: /omp_cycle/OtherConstruct5/i
- !REF: /omp_cycle/OtherConstruct5/j
- !REF: /omp_cycle/OtherConstruct5/k
+ !REF: /OMP_CYCLE/OtherConstruct5/i
+ !REF: /OMP_CYCLE/OtherConstruct5/j
+ !REF: /OMP_CYCLE/OtherConstruct5/k
print *, i, j, k
end do foo2
end do foo1
end do foo
!$omp end do
-end program omp_cycle
+end program OMP_CYCLE
diff --git a/flang/test/Semantics/OpenMP/do14.f90 b/flang/test/Semantics/OpenMP/do14.f90
index 5e8a5a64c2979..b508d32d90201 100644
--- a/flang/test/Semantics/OpenMP/do14.f90
+++ b/flang/test/Semantics/OpenMP/do14.f90
@@ -2,19 +2,19 @@
! OpenMP Version 4.5
! 2.7.1 Do Loop constructs.
-!DEF: /omp_cycle MainProgram
+!DEF: /OMP_CYCLE MainProgram
program omp_cycle
!$omp do collapse(1)
- !DEF: /omp_cycle/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_CYCLE/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do i=0,10
cycle
- !DEF: /omp_cycle/j (Implicit) ObjectEntity INTEGER(4)
+ !DEF: /OMP_CYCLE/j (Implicit) ObjectEntity INTEGER(4)
do j=0,10
- !DEF: /omp_cycle/k (Implicit) ObjectEntity INTEGER(4)
+ !DEF: /OMP_CYCLE/k (Implicit) ObjectEntity INTEGER(4)
do k=0,10
- !REF: /omp_cycle/OtherConstruct1/i
- !REF: /omp_cycle/j
- !REF: /omp_cycle/k
+ !REF: /OMP_CYCLE/OtherConstruct1/i
+ !REF: /OMP_CYCLE/j
+ !REF: /OMP_CYCLE/k
print *, i, j, k
end do
end do
@@ -22,16 +22,16 @@ program omp_cycle
!$omp end do
!$omp do collapse(1)
- !DEF: /omp_cycle/OtherConstruct2/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_CYCLE/OtherConstruct2/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do i=0,10
- !REF: /omp_cycle/j
+ !REF: /OMP_CYCLE/j
do j=0,10
cycle
- !REF: /omp_cycle/k
+ !REF: /OMP_CYCLE/k
do k=0,10
- !REF: /omp_cycle/OtherConstruct2/i
- !REF: /omp_cycle/j
- !REF: /omp_cycle/k
+ !REF: /OMP_CYCLE/OtherConstruct2/i
+ !REF: /OMP_CYCLE/j
+ !REF: /OMP_CYCLE/k
print *, i, j, k
end do
end do
@@ -39,16 +39,16 @@ program omp_cycle
!$omp end do
!$omp do collapse(2)
- !DEF: /omp_cycle/OtherConstruct3/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_CYCLE/OtherConstruct3/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do i=0,10
- !DEF: /omp_cycle/OtherConstruct3/j (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_CYCLE/OtherConstruct3/j (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do j=0,10
- !REF: /omp_cycle/k
+ !REF: /OMP_CYCLE/k
do k=0,10
cycle
- !REF: /omp_cycle/OtherConstruct3/i
- !REF: /omp_cycle/OtherConstruct3/j
- !REF: /omp_cycle/k
+ !REF: /OMP_CYCLE/OtherConstruct3/i
+ !REF: /OMP_CYCLE/OtherConstruct3/j
+ !REF: /OMP_CYCLE/k
print *, i, j, k
end do
end do
@@ -56,16 +56,16 @@ program omp_cycle
!$omp end do
!$omp do collapse(3)
- !DEF: /omp_cycle/OtherConstruct4/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_CYCLE/OtherConstruct4/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do i=0,10
- !DEF: /omp_cycle/OtherConstruct4/j (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_CYCLE/OtherConstruct4/j (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do j=0,10
- !DEF: /omp_cycle/OtherConstruct4/k (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_CYCLE/OtherConstruct4/k (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do k=0,10
cycle
- !REF: /omp_cycle/OtherConstruct4/i
- !REF: /omp_cycle/OtherConstruct4/j
- !REF: /omp_cycle/OtherConstruct4/k
+ !REF: /OMP_CYCLE/OtherConstruct4/i
+ !REF: /OMP_CYCLE/OtherConstruct4/j
+ !REF: /OMP_CYCLE/OtherConstruct4/k
print *, i, j, k
end do
end do
@@ -73,16 +73,16 @@ program omp_cycle
!$omp end do
!$omp do ordered(3)
- !DEF: /omp_cycle/OtherConstruct5/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_CYCLE/OtherConstruct5/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
foo:do i=0,10
- !DEF: /omp_cycle/OtherConstruct5/j (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_CYCLE/OtherConstruct5/j (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
foo1:do j=0,10
- !DEF: /omp_cycle/OtherConstruct5/k (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_CYCLE/OtherConstruct5/k (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
foo2:do k=0,10
cycle foo2
- !REF: /omp_cycle/OtherConstruct5/i
- !REF: /omp_cycle/OtherConstruct5/j
- !REF: /omp_cycle/OtherConstruct5/k
+ !REF: /OMP_CYCLE/OtherConstruct5/i
+ !REF: /OMP_CYCLE/OtherConstruct5/j
+ !REF: /OMP_CYCLE/OtherConstruct5/k
print *, i, j, k
end do foo2
end do foo1
diff --git a/flang/test/Semantics/OpenMP/do17.f90 b/flang/test/Semantics/OpenMP/do17.f90
index c0c59f16dee1b..0a4cf46d2d6af 100644
--- a/flang/test/Semantics/OpenMP/do17.f90
+++ b/flang/test/Semantics/OpenMP/do17.f90
@@ -2,53 +2,53 @@
! OpenMP Version 4.5
! 2.7.1 Do Loop constructs.
-!DEF: /test MainProgram
+!DEF: /TEST MainProgram
program test
- !DEF: /test/i ObjectEntity INTEGER(4)
- !DEF: /test/j ObjectEntity INTEGER(4)
- !DEF: /test/k ObjectEntity INTEGER(4)
+ !DEF: /TEST/i ObjectEntity INTEGER(4)
+ !DEF: /TEST/j ObjectEntity INTEGER(4)
+ !DEF: /TEST/k ObjectEntity INTEGER(4)
integer i, j, k
!$omp do collapse(2)
- !DEF: /test/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /TEST/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
foo: do i=0,10
- !DEF: /test/OtherConstruct1/j (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /TEST/OtherConstruct1/j (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
foo1: do j=0,10
- !REF: /test/k
+ !REF: /TEST/k
foo2: do k=0,10
- !REF: /test/OtherConstruct1/i
+ !REF: /TEST/OtherConstruct1/i
select case (i)
case (5)
cycle foo1
case (7)
cycle foo2
end select
- !REF: /test/OtherConstruct1/i
- !REF: /test/OtherConstruct1/j
- !REF: /test/k
+ !REF: /TEST/OtherConstruct1/i
+ !REF: /TEST/OtherConstruct1/j
+ !REF: /TEST/k
print *, i, j, k
end do foo2
end do foo1
end do foo
!$omp do collapse(2)
- !DEF: /test/OtherConstruct2/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /TEST/OtherConstruct2/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
foo: do i=0,10
- !DEF: /test/OtherConstruct2/j (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /TEST/OtherConstruct2/j (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
foo1: do j=0,10
- !REF: /test/k
+ !REF: /TEST/k
foo2: do k=0,10
- !REF: /test/OtherConstruct2/i
+ !REF: /TEST/OtherConstruct2/i
if (i<3) then
cycle foo1
- !REF: /test/OtherConstruct2/i
+ !REF: /TEST/OtherConstruct2/i
else if (i>8) then
cycle foo1
else
cycle foo2
end if
- !REF: /test/OtherConstruct2/i
- !REF: /test/OtherConstruct2/j
- !REF: /test/k
+ !REF: /TEST/OtherConstruct2/i
+ !REF: /TEST/OtherConstruct2/j
+ !REF: /TEST/k
print *, i, j, k
end do foo2
end do foo1
diff --git a/flang/test/Semantics/OpenMP/map-clause-symbols.f90 b/flang/test/Semantics/OpenMP/map-clause-symbols.f90
index 8f984fcd2fa7e..1d6315b4a2312 100644
--- a/flang/test/Semantics/OpenMP/map-clause-symbols.f90
+++ b/flang/test/Semantics/OpenMP/map-clause-symbols.f90
@@ -1,6 +1,6 @@
! RUN: %flang_fc1 -fdebug-dump-symbols -fopenmp -fopenmp-version=50 %s | FileCheck %s
program main
-!CHECK-LABEL: MainProgram scope: main
+!CHECK-LABEL: MainProgram scope: MAIN
integer, parameter :: n = 256
real(8) :: a(256)
!$omp target map(mapper(xx), from:a)
diff --git a/flang/test/Semantics/OpenMP/reduction08.f90 b/flang/test/Semantics/OpenMP/reduction08.f90
index 01a06eb7d7414..1cf2838fe765a 100644
--- a/flang/test/Semantics/OpenMP/reduction08.f90
+++ b/flang/test/Semantics/OpenMP/reduction08.f90
@@ -2,60 +2,60 @@
! OpenMP Version 4.5
! 2.15.3.6 Reduction Clause Positive cases
-!DEF: /omp_reduction MainProgram
+!DEF: /OMP_REDUCTION MainProgram
program omp_reduction
- !DEF: /omp_reduction/i ObjectEntity INTEGER(4)
+ !DEF: /OMP_REDUCTION/i ObjectEntity INTEGER(4)
integer i
- !DEF: /omp_reduction/k ObjectEntity INTEGER(4)
+ !DEF: /OMP_REDUCTION/k ObjectEntity INTEGER(4)
integer :: k = 10
- !DEF: /omp_reduction/m ObjectEntity INTEGER(4)
+ !DEF: /OMP_REDUCTION/m ObjectEntity INTEGER(4)
integer :: m = 12
!$omp parallel do reduction(max:k)
- !DEF: /omp_reduction/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_REDUCTION/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do i=1,10
- !DEF: /omp_reduction/OtherConstruct1/k (OmpReduction, OmpExplicit) HostAssoc INTEGER(4)
- !DEF: /omp_reduction/max ELEMENTAL, INTRINSIC, PURE (Function) ProcEntity
- !DEF: /omp_reduction/OtherConstruct1/m (OmpShared) HostAssoc INTEGER(4)
+ !DEF: /OMP_REDUCTION/OtherConstruct1/k (OmpReduction, OmpExplicit) HostAssoc INTEGER(4)
+ !DEF: /OMP_REDUCTION/max ELEMENTAL, INTRINSIC, PURE (Function) ProcEntity
+ !DEF: /OMP_REDUCTION/OtherConstruct1/m (OmpShared) HostAssoc INTEGER(4)
k = max(k, m)
end do
!$omp end parallel do
!$omp parallel do reduction(min:k)
- !DEF: /omp_reduction/OtherConstruct2/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_REDUCTION/OtherConstruct2/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do i=1,10
- !DEF: /omp_reduction/OtherConstruct2/k (OmpReduction, OmpExplicit) HostAssoc INTEGER(4)
- !DEF: /omp_reduction/min ELEMENTAL, INTRINSIC, PURE (Function) ProcEntity
- !DEF: /omp_reduction/OtherConstruct2/m (OmpShared) HostAssoc INTEGER(4)
+ !DEF: /OMP_REDUCTION/OtherConstruct2/k (OmpReduction, OmpExplicit) HostAssoc INTEGER(4)
+ !DEF: /OMP_REDUCTION/min ELEMENTAL, INTRINSIC, PURE (Function) ProcEntity
+ !DEF: /OMP_REDUCTION/OtherConstruct2/m (OmpShared) HostAssoc INTEGER(4)
k = min(k, m)
end do
!$omp end parallel do
!$omp parallel do reduction(iand:k)
- !DEF: /omp_reduction/OtherConstruct3/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_REDUCTION/OtherConstruct3/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do i=1,10
- !DEF: /omp_reduction/OtherConstruct3/k (OmpReduction, OmpExplicit) HostAssoc INTEGER(4)
- !DEF: /omp_reduction/iand ELEMENTAL, INTRINSIC, PURE (Function) ProcEntity
- !DEF: /omp_reduction/OtherConstruct3/m (OmpShared) HostAssoc INTEGER(4)
+ !DEF: /OMP_REDUCTION/OtherConstruct3/k (OmpReduction, OmpExplicit) HostAssoc INTEGER(4)
+ !DEF: /OMP_REDUCTION/iand ELEMENTAL, INTRINSIC, PURE (Function) ProcEntity
+ !DEF: /OMP_REDUCTION/OtherConstruct3/m (OmpShared) HostAssoc INTEGER(4)
k = iand(k, m)
end do
!$omp end parallel do
!$omp parallel do reduction(ior:k)
- !DEF: /omp_reduction/OtherConstruct4/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_REDUCTION/OtherConstruct4/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do i=1,10
- !DEF: /omp_reduction/OtherConstruct4/k (OmpReduction, OmpExplicit) HostAssoc INTEGER(4)
- !DEF: /omp_reduction/ior ELEMENTAL, INTRINSIC, PURE (Function) ProcEntity
- !DEF: /omp_reduction/OtherConstruct4/m (OmpShared) HostAssoc INTEGER(4)
+ !DEF: /OMP_REDUCTION/OtherConstruct4/k (OmpReduction, OmpExplicit) HostAssoc INTEGER(4)
+ !DEF: /OMP_REDUCTION/ior ELEMENTAL, INTRINSIC, PURE (Function) ProcEntity
+ !DEF: /OMP_REDUCTION/OtherConstruct4/m (OmpShared) HostAssoc INTEGER(4)
k = ior(k, m)
end do
!$omp end parallel do
!$omp parallel do reduction(ieor:k)
- !DEF: /omp_reduction/OtherConstruct5/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_REDUCTION/OtherConstruct5/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do i=1,10
- !DEF: /omp_reduction/OtherConstruct5/k (OmpReduction, OmpExplicit) HostAssoc INTEGER(4)
- !DEF: /omp_reduction/ieor ELEMENTAL, INTRINSIC, PURE (Function) ProcEntity
- !DEF: /omp_reduction/OtherConstruct5/m (OmpShared) HostAssoc INTEGER(4)
+ !DEF: /OMP_REDUCTION/OtherConstruct5/k (OmpReduction, OmpExplicit) HostAssoc INTEGER(4)
+ !DEF: /OMP_REDUCTION/ieor ELEMENTAL, INTRINSIC, PURE (Function) ProcEntity
+ !DEF: /OMP_REDUCTION/OtherConstruct5/m (OmpShared) HostAssoc INTEGER(4)
k = ieor(k,m)
end do
!$omp end parallel do
diff --git a/flang/test/Semantics/OpenMP/reduction09.f90 b/flang/test/Semantics/OpenMP/reduction09.f90
index d6c71c30d2834..4b1ca116d675b 100644
--- a/flang/test/Semantics/OpenMP/reduction09.f90
+++ b/flang/test/Semantics/OpenMP/reduction09.f90
@@ -1,22 +1,22 @@
! RUN: %python %S/../test_symbols.py %s %flang_fc1 -fopenmp
! OpenMP Version 4.5
! 2.15.3.6 Reduction Clause Positive cases.
-!DEF: /omp_reduction MainProgram
+!DEF: /OMP_REDUCTION MainProgram
program omp_reduction
- !DEF: /omp_reduction/i ObjectEntity INTEGER(4)
+ !DEF: /OMP_REDUCTION/i ObjectEntity INTEGER(4)
integer i
- !DEF: /omp_reduction/k ObjectEntity INTEGER(4)
+ !DEF: /OMP_REDUCTION/k ObjectEntity INTEGER(4)
integer :: k = 10
- !DEF: /omp_reduction/a ObjectEntity INTEGER(4)
+ !DEF: /OMP_REDUCTION/a ObjectEntity INTEGER(4)
integer a(10)
- !DEF: /omp_reduction/b ObjectEntity INTEGER(4)
+ !DEF: /OMP_REDUCTION/b ObjectEntity INTEGER(4)
integer b(10,10,10)
!$omp parallel shared(k)
!$omp do reduction(+:k)
- !DEF: /omp_reduction/OtherConstruct1/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_REDUCTION/OtherConstruct1/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do i=1,10
- !DEF: /omp_reduction/OtherConstruct1/OtherConstruct1/k (OmpReduction, OmpExplicit) HostAssoc INTEGER(4)
+ !DEF: /OMP_REDUCTION/OtherConstruct1/OtherConstruct1/k (OmpReduction, OmpExplicit) HostAssoc INTEGER(4)
k = k+1
end do
!$omp end do
@@ -24,52 +24,52 @@ program omp_reduction
!$omp parallel do reduction(+:a(10))
- !DEF: /omp_reduction/OtherConstruct2/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_REDUCTION/OtherConstruct2/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do i=1,10
- !DEF: /omp_reduction/OtherConstruct2/k (OmpShared) HostAssoc INTEGER(4)
+ !DEF: /OMP_REDUCTION/OtherConstruct2/k (OmpShared) HostAssoc INTEGER(4)
k = k+1
end do
!$omp end parallel do
!$omp parallel do reduction(+:a(1:10:1))
- !DEF: /omp_reduction/OtherConstruct3/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_REDUCTION/OtherConstruct3/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do i=1,10
- !DEF: /omp_reduction/OtherConstruct3/k (OmpShared) HostAssoc INTEGER(4)
+ !DEF: /OMP_REDUCTION/OtherConstruct3/k (OmpShared) HostAssoc INTEGER(4)
k = k+1
end do
!$omp end parallel do
!$omp parallel do reduction(+:b(1:10:1,1:5,2))
- !DEF: /omp_reduction/OtherConstruct4/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_REDUCTION/OtherConstruct4/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do i=1,10
- !DEF: /omp_reduction/OtherConstruct4/k (OmpShared) HostAssoc INTEGER(4)
+ !DEF: /OMP_REDUCTION/OtherConstruct4/k (OmpShared) HostAssoc INTEGER(4)
k = k+1
end do
!$omp end parallel do
!$omp parallel do reduction(+:b(1:10:1,1:5,2:5:1))
- !DEF: /omp_reduction/OtherConstruct5/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_REDUCTION/OtherConstruct5/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do i=1,10
- !DEF: /omp_reduction/OtherConstruct5/k (OmpShared) HostAssoc INTEGER(4)
+ !DEF: /OMP_REDUCTION/OtherConstruct5/k (OmpShared) HostAssoc INTEGER(4)
k = k+1
end do
!$omp end parallel do
!$omp parallel private(i)
!$omp do reduction(+:k) reduction(+:j)
- !DEF: /omp_reduction/OtherConstruct6/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_REDUCTION/OtherConstruct6/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do i=1,10
- !DEF: /omp_reduction/OtherConstruct6/OtherConstruct1/k (OmpReduction, OmpExplicit) HostAssoc INTEGER(4)
+ !DEF: /OMP_REDUCTION/OtherConstruct6/OtherConstruct1/k (OmpReduction, OmpExplicit) HostAssoc INTEGER(4)
k = k+1
end do
!$omp end do
!$omp end parallel
!$omp do reduction(+:k) reduction(*:j) reduction(+:l)
- !DEF: /omp_reduction/OtherConstruct7/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /OMP_REDUCTION/OtherConstruct7/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do i=1,10
- !DEF: /omp_reduction/OtherConstruct7/k (OmpReduction, OmpExplicit) HostAssoc INTEGER(4)
+ !DEF: /OMP_REDUCTION/OtherConstruct7/k (OmpReduction, OmpExplicit) HostAssoc INTEGER(4)
k = k+1
end do
!$omp end do
diff --git a/flang/test/Semantics/OpenMP/reduction11.f90 b/flang/test/Semantics/OpenMP/reduction11.f90
index b2ad0f6a6ee11..dfb3986d37d78 100644
--- a/flang/test/Semantics/OpenMP/reduction11.f90
+++ b/flang/test/Semantics/OpenMP/reduction11.f90
@@ -1,7 +1,7 @@
! RUN: %flang_fc1 -fopenmp -fdebug-dump-symbols -o - %s 2>&1 | FileCheck %s
! Check intrinsic reduction symbols (in this case "max" are marked as INTRINSIC
-! CHECK: MainProgram scope: omp_reduction
+! CHECK: MainProgram scope: OMP_REDUCTION
program omp_reduction
! CHECK: i size=4 offset=0: ObjectEntity type: INTEGER(4)
integer i
diff --git a/flang/test/Semantics/OpenMP/scan2.f90 b/flang/test/Semantics/OpenMP/scan2.f90
index ffe84910f88a2..1ae5e871595c4 100644
--- a/flang/test/Semantics/OpenMP/scan2.f90
+++ b/flang/test/Semantics/OpenMP/scan2.f90
@@ -1,7 +1,7 @@
! RUN: %flang_fc1 -fopenmp -fdebug-dump-symbols -o - %s 2>&1 | FileCheck %s
! Check scan reduction
-! CHECK: MainProgram scope: omp_reduction
+! CHECK: MainProgram scope: OMP_REDUCTION
program omp_reduction
! CHECK: i size=4 offset=0: ObjectEntity type: INTEGER(4)
integer i
diff --git a/flang/test/Semantics/OpenMP/symbol01.f90 b/flang/test/Semantics/OpenMP/symbol01.f90
index fbd9a0286c79b..c1f16d61ada1e 100644
--- a/flang/test/Semantics/OpenMP/symbol01.f90
+++ b/flang/test/Semantics/OpenMP/symbol01.f90
@@ -16,53 +16,53 @@ module md
integer :: b
end type myty
end module md
-!DEF: /mm MainProgram
+!DEF: /MM MainProgram
program mm
!REF: /md
use :: md
- !DEF: /mm/c CommonBlockDetails
- !DEF: /mm/x (InCommonBlock) ObjectEntity REAL(4)
- !DEF: /mm/y (InCommonBlock) ObjectEntity REAL(4)
+ !DEF: /MM/c CommonBlockDetails
+ !DEF: /MM/x (InCommonBlock) ObjectEntity REAL(4)
+ !DEF: /MM/y (InCommonBlock) ObjectEntity REAL(4)
common /c/x, y
- !REF: /mm/x
- !REF: /mm/y
+ !REF: /MM/x
+ !REF: /MM/y
real x, y
- !DEF: /mm/myty Use
- !DEF: /mm/t ObjectEntity TYPE(myty)
+ !DEF: /MM/myty Use
+ !DEF: /MM/t ObjectEntity TYPE(myty)
type(myty) :: t
- !DEF: /mm/b ObjectEntity INTEGER(4)
+ !DEF: /MM/b ObjectEntity INTEGER(4)
integer b(10)
- !REF: /mm/t
+ !REF: /MM/t
!REF: /md/myty/a
t%a = 3.14
- !REF: /mm/t
+ !REF: /MM/t
!REF: /md/myty/b
t%b = 1
- !REF: /mm/b
+ !REF: /MM/b
b = 2
- !DEF: /mm/a (Implicit) ObjectEntity REAL(4)
+ !DEF: /MM/a (Implicit) ObjectEntity REAL(4)
a = 1.0
- !DEF: /mm/c (Implicit) ObjectEntity REAL(4)
+ !DEF: /MM/c (Implicit) ObjectEntity REAL(4)
c = 2.0
!$omp parallel do private(a,t,/c/) shared(c)
- !DEF: /mm/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /MM/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do i=1,10
- !DEF: /mm/OtherConstruct1/a (OmpPrivate, OmpExplicit) HostAssoc REAL(4)
- !DEF: /mm/OtherConstruct1/b (OmpShared) HostAssoc INTEGER(4)
- !REF: /mm/OtherConstruct1/i
+ !DEF: /MM/OtherConstruct1/a (OmpPrivate, OmpExplicit) HostAssoc REAL(4)
+ !DEF: /MM/OtherConstruct1/b (OmpShared) HostAssoc INTEGER(4)
+ !REF: /MM/OtherConstruct1/i
a = a+b(i)
- !DEF: /mm/OtherConstruct1/t (OmpPrivate, OmpExplicit) HostAssoc TYPE(myty)
+ !DEF: /MM/OtherConstruct1/t (OmpPrivate, OmpExplicit) HostAssoc TYPE(myty)
!REF: /md/myty/a
- !REF: /mm/OtherConstruct1/i
+ !REF: /MM/OtherConstruct1/i
t%a = i
- !DEF: /mm/OtherConstruct1/y (OmpPrivate, OmpExplicit) HostAssoc REAL(4)
+ !DEF: /MM/OtherConstruct1/y (OmpPrivate, OmpExplicit) HostAssoc REAL(4)
y = 0.
- !DEF: /mm/OtherConstruct1/x (OmpPrivate, OmpExplicit) HostAssoc REAL(4)
- !REF: /mm/OtherConstruct1/a
- !REF: /mm/OtherConstruct1/i
- !REF: /mm/OtherConstruct1/y
+ !DEF: /MM/OtherConstruct1/x (OmpPrivate, OmpExplicit) HostAssoc REAL(4)
+ !REF: /MM/OtherConstruct1/a
+ !REF: /MM/OtherConstruct1/i
+ !REF: /MM/OtherConstruct1/y
x = a+i+y
- !DEF: /mm/OtherConstruct1/c (OmpShared, OmpExplicit) HostAssoc REAL(4)
+ !DEF: /MM/OtherConstruct1/c (OmpShared, OmpExplicit) HostAssoc REAL(4)
c = 3.0
end do
end program
diff --git a/flang/test/Semantics/OpenMP/symbol05.f90 b/flang/test/Semantics/OpenMP/symbol05.f90
index fe01f15d20aa3..03e2c0ba3e0cc 100644
--- a/flang/test/Semantics/OpenMP/symbol05.f90
+++ b/flang/test/Semantics/OpenMP/symbol05.f90
@@ -31,10 +31,10 @@ subroutine foo
end block
end subroutine foo
end module mm
-!DEF: /tt MainProgram
+!DEF: /TT MainProgram
program tt
!REF: /mm
use :: mm
- !DEF: /tt/foo (Subroutine) Use
+ !DEF: /TT/foo (Subroutine) Use
call foo
end program tt
diff --git a/flang/test/Semantics/OpenMP/symbol07.f90 b/flang/test/Semantics/OpenMP/symbol07.f90
index 86b7305411347..f5eb2127819bd 100644
--- a/flang/test/Semantics/OpenMP/symbol07.f90
+++ b/flang/test/Semantics/OpenMP/symbol07.f90
@@ -30,7 +30,7 @@ subroutine function_call_in_region
!REF: /function_call_in_region/b
print *, a, b
end subroutine function_call_in_region
-!DEF: /mm MainProgram
+!DEF: /MM MainProgram
program mm
!REF: /function_call_in_region
call function_call_in_region
diff --git a/flang/test/Semantics/OpenMP/symbol09.f90 b/flang/test/Semantics/OpenMP/symbol09.f90
index 86b7305411347..f5eb2127819bd 100644
--- a/flang/test/Semantics/OpenMP/symbol09.f90
+++ b/flang/test/Semantics/OpenMP/symbol09.f90
@@ -30,7 +30,7 @@ subroutine function_call_in_region
!REF: /function_call_in_region/b
print *, a, b
end subroutine function_call_in_region
-!DEF: /mm MainProgram
+!DEF: /MM MainProgram
program mm
!REF: /function_call_in_region
call function_call_in_region
diff --git a/flang/test/Semantics/getsymbols03-a.f90 b/flang/test/Semantics/getsymbols03-a.f90
index 95b7fb418367d..e3c2e0bf53f92 100644
--- a/flang/test/Semantics/getsymbols03-a.f90
+++ b/flang/test/Semantics/getsymbols03-a.f90
@@ -9,6 +9,6 @@ program main
! RUN: %flang_fc1 -fget-symbols-sources %s 2>&1 | FileCheck %s
! CHECK:f:{{.*}}getsymbols03-b.f90, 2, 12-13
-! CHECK:main:{{.*}}getsymbols03-a.f90, 4, 9-13
+! CHECK:MAIN:{{.*}}getsymbols03-a.f90, 4, 9-13
! CHECK:mm3:{{.*}}getsymbols03-a.f90, 5, 6-9
! CHECK:x:{{.*}}getsymbols03-a.f90, 6, 13-14
diff --git a/flang/test/Semantics/modproc01.f90 b/flang/test/Semantics/modproc01.f90
index 5f45362e95093..e565ddcfbe0b1 100644
--- a/flang/test/Semantics/modproc01.f90
+++ b/flang/test/Semantics/modproc01.f90
@@ -125,7 +125,7 @@ program test
x = mf(3, "abc", pdt1(1,3)())
! call ms(mf)
end program
-!CHECK: MainProgram scope: test size=88 alignment=8
+!CHECK: MainProgram scope: TEST size=88 alignment=8
!CHECK: mf, MODULE (Function): Use from mf in m
!CHECK: pdt1: Use from pdt1 in m
!CHECK: pdt2: Use from pdt2 in m
diff --git a/flang/test/Semantics/multi-programs04.f90 b/flang/test/Semantics/multi-programs04.f90
index 54b0235aa78f0..e69ac7325278e 100644
--- a/flang/test/Semantics/multi-programs04.f90
+++ b/flang/test/Semantics/multi-programs04.f90
@@ -4,6 +4,6 @@
program m
end
!ERROR: A source file cannot contain more than one main program
-!ERROR: 'm' is already declared in this scoping unit
+!ERROR: 'M' is already declared in this scoping unit
program m
end
diff --git a/flang/test/Semantics/procinterface01.f90 b/flang/test/Semantics/procinterface01.f90
index 73040b0987bd0..7542bb8bb6fa4 100644
--- a/flang/test/Semantics/procinterface01.f90
+++ b/flang/test/Semantics/procinterface01.f90
@@ -159,35 +159,35 @@ end function logical
tan = "?"
end function tan
-!DEF: /main MainProgram
+!DEF: /MAIN MainProgram
program main
!REF: /module1
use :: module1
- !DEF: /main/derived1 Use
- !DEF: /main/instance ObjectEntity TYPE(derived1)
+ !DEF: /MAIN/derived1 Use
+ !DEF: /MAIN/instance ObjectEntity TYPE(derived1)
type(derived1) :: instance
- !REF: /main/instance
+ !REF: /MAIN/instance
!REF: /module1/derived1/p1
if (instance%p1(1.)/=2.) print *, "p1 failed"
- !REF: /main/instance
+ !REF: /MAIN/instance
!REF: /module1/derived1/p2
if (instance%p2(1.)/=2.) print *, "p2 failed"
- !REF: /main/instance
+ !REF: /MAIN/instance
!REF: /module1/derived1/p3
if (.not.instance%p3(1.)) print *, "p3 failed"
- !REF: /main/instance
+ !REF: /MAIN/instance
!REF: /module1/derived1/p4
if (.not.instance%p4(1.)) print *, "p4 failed"
- !REF: /main/instance
+ !REF: /MAIN/instance
!REF: /module1/derived1/p5
if (instance%p5(1.)/=(5.,6.)) print *, "p5 failed"
- !REF: /main/instance
+ !REF: /MAIN/instance
!REF: /module1/derived1/p6
if (instance%p6(1.)/=2.) print *, "p6 failed"
- !REF: /main/instance
+ !REF: /MAIN/instance
!REF: /module1/derived1/p7
if (instance%p7(0.)/=1.) print *, "p7 failed"
- !REF: /main/instance
+ !REF: /MAIN/instance
!REF: /module1/derived1/p8
if (instance%p8(1.)/="a") print *, "p8 failed"
end program main
diff --git a/flang/test/Semantics/resolve125.f90 b/flang/test/Semantics/resolve125.f90
index e040c006ec179..620c7d65578cd 100644
--- a/flang/test/Semantics/resolve125.f90
+++ b/flang/test/Semantics/resolve125.f90
@@ -43,7 +43,7 @@ subroutine reset
end subroutine reset
end module m2
-!CHECK: MainProgram scope: main
+!CHECK: MainProgram scope: MAIN
!CHECK: i: Use from i in m2
!CHECK: i2: Use from i2 in m2
!CHECK: init (Subroutine): Use from init in m2
@@ -61,4 +61,4 @@ program main
else
print *, "fail"
end if
-end program main
\ No newline at end of file
+end program main
diff --git a/flang/test/Semantics/symbol03.f90 b/flang/test/Semantics/symbol03.f90
index a6b4b0bd15937..f50a0e91fd289 100644
--- a/flang/test/Semantics/symbol03.f90
+++ b/flang/test/Semantics/symbol03.f90
@@ -1,23 +1,23 @@
! RUN: %python %S/test_symbols.py %s %flang_fc1
! Test host association in internal subroutine of main program.
-!DEF: /main MainProgram
+!DEF: /MAIN MainProgram
program main
- !DEF: /main/x ObjectEntity INTEGER(4)
+ !DEF: /MAIN/x ObjectEntity INTEGER(4)
integer x
- !DEF: /main/s (Subroutine) Subprogram
+ !DEF: /MAIN/s (Subroutine) Subprogram
call s
contains
- !REF: /main/s
+ !REF: /MAIN/s
subroutine s
- !DEF: /main/s/y (Implicit) ObjectEntity REAL(4)
- !DEF: /main/s/x HostAssoc INTEGER(4)
+ !DEF: /MAIN/s/y (Implicit) ObjectEntity REAL(4)
+ !DEF: /MAIN/s/x HostAssoc INTEGER(4)
y = x
contains
- !DEF: /main/s/s2 (Subroutine) Subprogram
+ !DEF: /MAIN/s/s2 (Subroutine) Subprogram
subroutine s2
- !DEF: /main/s/s2/z (Implicit) ObjectEntity REAL(4)
- !DEF: /main/s/s2/x HostAssoc INTEGER(4)
+ !DEF: /MAIN/s/s2/z (Implicit) ObjectEntity REAL(4)
+ !DEF: /MAIN/s/s2/x HostAssoc INTEGER(4)
z = x
end subroutine
end subroutine
diff --git a/flang/test/Semantics/symbol06.f90 b/flang/test/Semantics/symbol06.f90
index bbd6d4d071c89..984ebcc1c651c 100644
--- a/flang/test/Semantics/symbol06.f90
+++ b/flang/test/Semantics/symbol06.f90
@@ -1,56 +1,56 @@
! RUN: %python %S/test_symbols.py %s %flang_fc1
-!DEF: /main MainProgram
+!DEF: /MAIN MainProgram
program main
- !DEF: /main/t1 DerivedType
+ !DEF: /MAIN/t1 DerivedType
type :: t1
- !DEF: /main/t1/a1 ObjectEntity INTEGER(4)
+ !DEF: /MAIN/t1/a1 ObjectEntity INTEGER(4)
integer :: a1
end type
- !REF: /main/t1
- !DEF: /main/t2 DerivedType
+ !REF: /MAIN/t1
+ !DEF: /MAIN/t2 DerivedType
type, extends(t1) :: t2
- !DEF: /main/t2/a2 ObjectEntity INTEGER(4)
+ !DEF: /MAIN/t2/a2 ObjectEntity INTEGER(4)
integer :: a2
end type
- !REF: /main/t2
- !DEF: /main/t3 DerivedType
+ !REF: /MAIN/t2
+ !DEF: /MAIN/t3 DerivedType
type, extends(t2) :: t3
- !DEF: /main/t3/a3 ObjectEntity INTEGER(4)
+ !DEF: /MAIN/t3/a3 ObjectEntity INTEGER(4)
integer :: a3
end type
- !REF: /main/t3
- !DEF: /main/x3 ObjectEntity TYPE(t3)
+ !REF: /MAIN/t3
+ !DEF: /MAIN/x3 ObjectEntity TYPE(t3)
type(t3) :: x3
- !DEF: /main/i ObjectEntity INTEGER(4)
+ !DEF: /MAIN/i ObjectEntity INTEGER(4)
integer i
- !REF: /main/i
- !REF: /main/x3
- !REF: /main/t2/a2
+ !REF: /MAIN/i
+ !REF: /MAIN/x3
+ !REF: /MAIN/t2/a2
i = x3%a2
- !REF: /main/i
- !REF: /main/x3
- !REF: /main/t1/a1
+ !REF: /MAIN/i
+ !REF: /MAIN/x3
+ !REF: /MAIN/t1/a1
i = x3%a1
- !REF: /main/i
- !REF: /main/x3
- !DEF: /main/t3/t2 (ParentComp) ObjectEntity TYPE(t2)
- !REF: /main/t2/a2
+ !REF: /MAIN/i
+ !REF: /MAIN/x3
+ !DEF: /MAIN/t3/t2 (ParentComp) ObjectEntity TYPE(t2)
+ !REF: /MAIN/t2/a2
i = x3%t2%a2
- !REF: /main/i
- !REF: /main/x3
- !REF: /main/t3/t2
- !REF: /main/t1/a1
+ !REF: /MAIN/i
+ !REF: /MAIN/x3
+ !REF: /MAIN/t3/t2
+ !REF: /MAIN/t1/a1
i = x3%t2%a1
- !REF: /main/i
- !REF: /main/x3
- !DEF: /main/t2/t1 (ParentComp) ObjectEntity TYPE(t1)
- !REF: /main/t1/a1
+ !REF: /MAIN/i
+ !REF: /MAIN/x3
+ !DEF: /MAIN/t2/t1 (ParentComp) ObjectEntity TYPE(t1)
+ !REF: /MAIN/t1/a1
i = x3%t1%a1
- !REF: /main/i
- !REF: /main/x3
- !REF: /main/t3/t2
- !REF: /main/t2/t1
- !REF: /main/t1/a1
+ !REF: /MAIN/i
+ !REF: /MAIN/x3
+ !REF: /MAIN/t3/t2
+ !REF: /MAIN/t2/t1
+ !REF: /MAIN/t1/a1
i = x3%t2%t1%a1
end program
diff --git a/flang/test/Semantics/symbol07.f90 b/flang/test/Semantics/symbol07.f90
index f3cc934e51b16..b3e92f1465fa6 100644
--- a/flang/test/Semantics/symbol07.f90
+++ b/flang/test/Semantics/symbol07.f90
@@ -1,40 +1,40 @@
! RUN: %python %S/test_symbols.py %s %flang_fc1
-!DEF: /main MainProgram
+!DEF: /MAIN MainProgram
program main
implicit complex(z)
- !DEF: /main/t DerivedType
+ !DEF: /MAIN/t DerivedType
type :: t
- !DEF: /main/t/re ObjectEntity REAL(4)
+ !DEF: /MAIN/t/re ObjectEntity REAL(4)
real :: re
- !DEF: /main/t/im ObjectEntity REAL(4)
+ !DEF: /MAIN/t/im ObjectEntity REAL(4)
real :: im
end type
- !DEF: /main/z1 ObjectEntity COMPLEX(4)
+ !DEF: /MAIN/z1 ObjectEntity COMPLEX(4)
complex z1
- !REF: /main/t
- !DEF: /main/w ObjectEntity TYPE(t)
+ !REF: /MAIN/t
+ !DEF: /MAIN/w ObjectEntity TYPE(t)
type(t) :: w
- !DEF: /main/x ObjectEntity REAL(4)
- !DEF: /main/y ObjectEntity REAL(4)
+ !DEF: /MAIN/x ObjectEntity REAL(4)
+ !DEF: /MAIN/y ObjectEntity REAL(4)
real x, y
- !REF: /main/x
- !REF: /main/z1
+ !REF: /MAIN/x
+ !REF: /MAIN/z1
x = z1%re
- !REF: /main/y
- !REF: /main/z1
+ !REF: /MAIN/y
+ !REF: /MAIN/z1
y = z1%im
- !DEF: /main/z2 (Implicit) ObjectEntity COMPLEX(4)
- !REF: /main/x
+ !DEF: /MAIN/z2 (Implicit) ObjectEntity COMPLEX(4)
+ !REF: /MAIN/x
z2%re = x
- !REF: /main/z2
- !REF: /main/y
+ !REF: /MAIN/z2
+ !REF: /MAIN/y
z2%im = y
- !REF: /main/x
- !REF: /main/w
- !REF: /main/t/re
+ !REF: /MAIN/x
+ !REF: /MAIN/w
+ !REF: /MAIN/t/re
x = w%re
- !REF: /main/y
- !REF: /main/w
- !REF: /main/t/im
+ !REF: /MAIN/y
+ !REF: /MAIN/w
+ !REF: /MAIN/t/im
y = w%im
end program
diff --git a/flang/test/Semantics/symbol08.f90 b/flang/test/Semantics/symbol08.f90
index 61dab798955c5..e2e9959d0a591 100644
--- a/flang/test/Semantics/symbol08.f90
+++ b/flang/test/Semantics/symbol08.f90
@@ -1,15 +1,15 @@
! RUN: %python %S/test_symbols.py %s %flang_fc1
-!DEF: /main MainProgram
+!DEF: /MAIN MainProgram
program main
- !DEF: /main/x POINTER ObjectEntity REAL(4)
+ !DEF: /MAIN/x POINTER ObjectEntity REAL(4)
pointer :: x
- !REF: /main/x
+ !REF: /MAIN/x
real x
- !DEF: /main/y EXTERNAL, POINTER (Function) ProcEntity REAL(4)
+ !DEF: /MAIN/y EXTERNAL, POINTER (Function) ProcEntity REAL(4)
pointer :: y
- !REF: /main/y
+ !REF: /MAIN/y
procedure (real) :: y
- !DEF: /main/z (Implicit) ObjectEntity REAL(4)
- !REF: /main/y
+ !DEF: /MAIN/z (Implicit) ObjectEntity REAL(4)
+ !REF: /MAIN/y
z = y()
end program
diff --git a/flang/test/Semantics/symbol15.f90 b/flang/test/Semantics/symbol15.f90
index df10942e6af2d..5cc1cf58b4f21 100644
--- a/flang/test/Semantics/symbol15.f90
+++ b/flang/test/Semantics/symbol15.f90
@@ -249,15 +249,15 @@ subroutine ext2
!DEF: /ext3 (Subroutine) Subprogram
subroutine ext3
end subroutine
-!DEF: /main MainProgram
+!DEF: /MAIN MainProgram
program main
!REF: /m
use :: m
- !DEF: /main/pdt1 Use
- !DEF: /main/pdt1y ObjectEntity TYPE(pdt1(k=2_4))
+ !DEF: /MAIN/pdt1 Use
+ !DEF: /MAIN/pdt1y ObjectEntity TYPE(pdt1(k=2_4))
type(pdt1(2)) :: pdt1y
- !DEF: /main/pdt2 Use
- !DEF: /main/pdt2y ObjectEntity TYPE(pdt2(k=2_4))
+ !DEF: /MAIN/pdt2 Use
+ !DEF: /MAIN/pdt2y ObjectEntity TYPE(pdt2(k=2_4))
type(pdt2(2)) :: pdt2y
print *, "compiled"
end program
diff --git a/flang/test/Semantics/symbol16.f90 b/flang/test/Semantics/symbol16.f90
index 7a46092c36b53..c29831a5dfa90 100644
--- a/flang/test/Semantics/symbol16.f90
+++ b/flang/test/Semantics/symbol16.f90
@@ -1,18 +1,18 @@
! RUN: %python %S/test_symbols.py %s %flang_fc1
! Statement functions
-!DEF: /p1 MainProgram
+!DEF: /P1 MainProgram
program p1
- !DEF: /p1/f (Function, StmtFunction) Subprogram INTEGER(4)
- !DEF: /p1/i ObjectEntity INTEGER(4)
- !DEF: /p1/j ObjectEntity INTEGER(4)
+ !DEF: /P1/f (Function, StmtFunction) Subprogram INTEGER(4)
+ !DEF: /P1/i ObjectEntity INTEGER(4)
+ !DEF: /P1/j ObjectEntity INTEGER(4)
integer f, i, j
- !REF: /p1/f
- !REF: /p1/i
- !DEF: /p1/f/i ObjectEntity INTEGER(4)
+ !REF: /P1/f
+ !REF: /P1/i
+ !DEF: /P1/f/i ObjectEntity INTEGER(4)
f(i) = i + 1
- !REF: /p1/j
- !REF: /p1/f
+ !REF: /P1/j
+ !REF: /P1/f
j = f(2)
end program
diff --git a/flang/test/Semantics/symbol17.f90 b/flang/test/Semantics/symbol17.f90
index 434f124509a32..51f3afb19692d 100644
--- a/flang/test/Semantics/symbol17.f90
+++ b/flang/test/Semantics/symbol17.f90
@@ -1,44 +1,44 @@
! RUN: %python %S/test_symbols.py %s %flang_fc1
! Forward references to derived types (non-error cases)
-!DEF: /main MainProgram
+!DEF: /MAIN MainProgram
program main
- !DEF: /main/t1 DerivedType
+ !DEF: /MAIN/t1 DerivedType
type :: t1
- !DEF: /main/t2 DerivedType
- !DEF: /main/t1/t1a ALLOCATABLE ObjectEntity TYPE(t2)
+ !DEF: /MAIN/t2 DerivedType
+ !DEF: /MAIN/t1/t1a ALLOCATABLE ObjectEntity TYPE(t2)
type(t2), allocatable :: t1a
- !REF: /main/t2
- !DEF: /main/t1/t1p POINTER ObjectEntity TYPE(t2)
+ !REF: /MAIN/t2
+ !DEF: /MAIN/t1/t1p POINTER ObjectEntity TYPE(t2)
type(t2), pointer :: t1p
end type
- !REF: /main/t2
+ !REF: /MAIN/t2
type :: t2
- !REF: /main/t2
- !DEF: /main/t2/t2a ALLOCATABLE ObjectEntity TYPE(t2)
+ !REF: /MAIN/t2
+ !DEF: /MAIN/t2/t2a ALLOCATABLE ObjectEntity TYPE(t2)
type(t2), allocatable :: t2a
- !REF: /main/t2
- !DEF: /main/t2/t2p POINTER ObjectEntity TYPE(t2)
+ !REF: /MAIN/t2
+ !DEF: /MAIN/t2/t2p POINTER ObjectEntity TYPE(t2)
type(t2), pointer :: t2p
end type
- !REF: /main/t1
- !DEF: /main/t1x TARGET ObjectEntity TYPE(t1)
+ !REF: /MAIN/t1
+ !DEF: /MAIN/t1x TARGET ObjectEntity TYPE(t1)
type(t1), target :: t1x
- !REF: /main/t1x
- !REF: /main/t1/t1a
+ !REF: /MAIN/t1x
+ !REF: /MAIN/t1/t1a
allocate(t1x%t1a)
- !REF: /main/t1x
- !REF: /main/t1/t1p
- !REF: /main/t1/t1a
+ !REF: /MAIN/t1x
+ !REF: /MAIN/t1/t1p
+ !REF: /MAIN/t1/t1a
t1x%t1p => t1x%t1a
- !REF: /main/t1x
- !REF: /main/t1/t1a
- !REF: /main/t2/t2a
+ !REF: /MAIN/t1x
+ !REF: /MAIN/t1/t1a
+ !REF: /MAIN/t2/t2a
allocate(t1x%t1a%t2a)
- !REF: /main/t1x
- !REF: /main/t1/t1a
- !REF: /main/t2/t2p
- !REF: /main/t2/t2a
+ !REF: /MAIN/t1x
+ !REF: /MAIN/t1/t1a
+ !REF: /MAIN/t2/t2p
+ !REF: /MAIN/t2/t2a
t1x%t1a%t2p => t1x%t1a%t2a
end program
!DEF: /f1/fwd DerivedType
diff --git a/flang/test/Semantics/symbol18.f90 b/flang/test/Semantics/symbol18.f90
index a37792bce21d7..bfe25ff4df25f 100644
--- a/flang/test/Semantics/symbol18.f90
+++ b/flang/test/Semantics/symbol18.f90
@@ -2,21 +2,21 @@
! Intrinsic function in type declaration statement: type is ignored
-!DEF: /p1 MainProgram
+!DEF: /P1 MainProgram
program p1
- !DEF: /p1/cos ELEMENTAL, INTRINSIC, PURE (Function) ProcEntity INTEGER(4)
+ !DEF: /P1/cos ELEMENTAL, INTRINSIC, PURE (Function) ProcEntity INTEGER(4)
integer cos
- !DEF: /p1/y (Implicit) ObjectEntity REAL(4)
- !REF: /p1/cos
- !DEF: /p1/x (Implicit) ObjectEntity REAL(4)
+ !DEF: /P1/y (Implicit) ObjectEntity REAL(4)
+ !REF: /P1/cos
+ !DEF: /P1/x (Implicit) ObjectEntity REAL(4)
y = cos(x)
- !REF: /p1/y
- !DEF: /p1/sin ELEMENTAL, INTRINSIC, PURE (Function) ProcEntity
- !REF: /p1/x
+ !REF: /P1/y
+ !DEF: /P1/sin ELEMENTAL, INTRINSIC, PURE (Function) ProcEntity
+ !REF: /P1/x
y = sin(x)
- !REF: /p1/y
+ !REF: /P1/y
!DEF: /f EXTERNAL (Function, Implicit) ProcEntity REAL(4)
- !REF: /p1/x
+ !REF: /P1/x
y = f(x)
end program
diff --git a/flang/test/Semantics/symbol20.f90 b/flang/test/Semantics/symbol20.f90
index 8c82776933321..20bd1bdbf2a7c 100644
--- a/flang/test/Semantics/symbol20.f90
+++ b/flang/test/Semantics/symbol20.f90
@@ -32,16 +32,16 @@ subroutine bar
print *, "in bar"
end subroutine
end module
-!DEF: /demo MainProgram
+!DEF: /DEMO MainProgram
program demo
!REF: /m
use :: m
- !DEF: /demo/bar (Subroutine) Use
- !DEF: /demo/p EXTERNAL, POINTER (Subroutine) ProcEntity
+ !DEF: /DEMO/bar (Subroutine) Use
+ !DEF: /DEMO/p EXTERNAL, POINTER (Subroutine) ProcEntity
procedure(bar), pointer :: p
- !REF: /demo/p
- !DEF: /demo/foo (Function) Use
+ !REF: /DEMO/p
+ !DEF: /DEMO/foo (Function) Use
p => foo()
- !REF: /demo/p
+ !REF: /DEMO/p
call p
end program
diff --git a/flang/test/Semantics/symbol25.f90 b/flang/test/Semantics/symbol25.f90
index ac3dd37ef92eb..a131bf899340f 100644
--- a/flang/test/Semantics/symbol25.f90
+++ b/flang/test/Semantics/symbol25.f90
@@ -38,23 +38,23 @@ subroutine inner1
end subroutine inner1
end subroutine outer
end module m
-!DEF: /main MainProgram
+!DEF: /MAIN MainProgram
program main
!REF: /m
use :: m
!REF: /m/specific1
call generic
- !DEF: /main/inner2 (Subroutine) Subprogram
+ !DEF: /MAIN/inner2 (Subroutine) Subprogram
call inner2
contains
- !REF: /main/inner2
+ !REF: /MAIN/inner2
subroutine inner2
- !DEF: /main/inner2/generic (Subroutine) Generic
+ !DEF: /MAIN/inner2/generic (Subroutine) Generic
interface generic
- !DEF: /main/specific2 (Subroutine) Use
+ !DEF: /MAIN/specific2 (Subroutine) Use
module procedure :: specific2
end interface
- !REF: /main/specific2
+ !REF: /MAIN/specific2
call generic
end subroutine inner2
end program
diff --git a/flang/test/Semantics/symbol26.f90 b/flang/test/Semantics/symbol26.f90
index f5e95853ca099..e04cd32df57c4 100644
--- a/flang/test/Semantics/symbol26.f90
+++ b/flang/test/Semantics/symbol26.f90
@@ -8,16 +8,16 @@ module m
!DEF: /m/j PUBLIC (Implicit, InNamelist) ObjectEntity INTEGER(4)
namelist/a/j
end module m
-!DEF: /main MainProgram
+!DEF: /MAIN MainProgram
program main
- !DEF: /main/j (Implicit) ObjectEntity INTEGER(4)
+ !DEF: /MAIN/j (Implicit) ObjectEntity INTEGER(4)
j = 1
contains
- !DEF: /main/inner (Subroutine) Subprogram
+ !DEF: /MAIN/inner (Subroutine) Subprogram
subroutine inner
!REF: /m
use :: m
- !DEF: /main/inner/j (Implicit, InNamelist) Use INTEGER(4)
+ !DEF: /MAIN/inner/j (Implicit, InNamelist) Use INTEGER(4)
j = 2
end subroutine
end program
diff --git a/flang/test/Transforms/DoConcurrent/basic_host.f90 b/flang/test/Transforms/DoConcurrent/basic_host.f90
index 12f63031cbaee..6f24b346e3fb9 100644
--- a/flang/test/Transforms/DoConcurrent/basic_host.f90
+++ b/flang/test/Transforms/DoConcurrent/basic_host.f90
@@ -5,7 +5,7 @@
! RUN: bbc -emit-hlfir -fopenmp -fdo-concurrent-to-openmp=host %s -o - \
! RUN: | FileCheck %s
-! CHECK-LABEL: do_concurrent_basic
+! CHECK-LABEL: DO_CONCURRENT_BASIC
program do_concurrent_basic
! CHECK: %[[ARR:.*]]:2 = hlfir.declare %{{.*}}(%{{.*}}) {uniq_name = "_QFEa"} : (!fir.ref<!fir.array<10xi32>>, !fir.shape<1>) -> (!fir.ref<!fir.array<10xi32>>, !fir.ref<!fir.array<10xi32>>)
>From 632cd4b1351cbb57efbdf3cb8fe9435211004a0a Mon Sep 17 00:00:00 2001
From: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: Tue, 15 Jul 2025 18:24:17 -0400
Subject: [PATCH 04/11] More test changes
---
.../test/Semantics/OpenACC/acc-symbols01.f90 | 24 +++++++++----------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/flang/test/Semantics/OpenACC/acc-symbols01.f90 b/flang/test/Semantics/OpenACC/acc-symbols01.f90
index ea22f41197aa7..51a7a3a23e8ce 100644
--- a/flang/test/Semantics/OpenACC/acc-symbols01.f90
+++ b/flang/test/Semantics/OpenACC/acc-symbols01.f90
@@ -1,24 +1,24 @@
! RUN: %python %S/../test_symbols.py %s %flang_fc1 -fopenacc
!DEF: /MM MainProgram
-program mm
- !DEF: /mm/x ObjectEntity REAL(4)
- !DEF: /mm/y ObjectEntity REAL(4)
+program MM
+ !DEF: /MM/x ObjectEntity REAL(4)
+ !DEF: /MM/y ObjectEntity REAL(4)
real x, y
- !DEF: /mm/a ObjectEntity INTEGER(4)
- !DEF: /mm/b ObjectEntity INTEGER(4)
- !DEF: /mm/c ObjectEntity INTEGER(4)
- !DEF: /mm/i ObjectEntity INTEGER(4)
+ !DEF: /MM/a ObjectEntity INTEGER(4)
+ !DEF: /MM/b ObjectEntity INTEGER(4)
+ !DEF: /MM/c ObjectEntity INTEGER(4)
+ !DEF: /MM/i ObjectEntity INTEGER(4)
integer a(10), b(10), c(10), i
- !REF: /mm/b
+ !REF: /MM/b
b = 2
!$acc parallel present(c) firstprivate(b) private(a)
!$acc loop
- !REF: /mm/i
+ !REF: /MM/i
do i=1,10
- !REF: /mm/a
- !REF: /mm/i
- !REF: /mm/b
+ !REF: /MM/a
+ !REF: /MM/i
+ !REF: /MM/b
a(i) = b(i)
end do
!$acc end parallel
>From ce7b837b6554c62ad459729674ddb0cb84f49747 Mon Sep 17 00:00:00 2001
From: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: Tue, 15 Jul 2025 18:37:07 -0400
Subject: [PATCH 05/11] more tests
---
flang/test/Semantics/OpenMP/do-schedule03.f90 | 4 ++--
flang/test/Semantics/OpenMP/do01-positivecase.f90 | 4 ++--
flang/test/Semantics/OpenMP/do04-positivecase.f90 | 4 ++--
flang/test/Semantics/OpenMP/do05-positivecase.f90 | 4 ++--
flang/test/Semantics/OpenMP/do06-positivecases.f90 | 4 ++--
flang/test/Semantics/OpenMP/do11.f90 | 14 +++++++-------
6 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/flang/test/Semantics/OpenMP/do-schedule03.f90 b/flang/test/Semantics/OpenMP/do-schedule03.f90
index 375f3920b57ad..05602ca57e4a9 100644
--- a/flang/test/Semantics/OpenMP/do-schedule03.f90
+++ b/flang/test/Semantics/OpenMP/do-schedule03.f90
@@ -3,7 +3,7 @@
! 2.7.1 Schedule Clause
! Test that does not catch non constant integer expressions like xx - xx.
!DEF: /OMPDOSCHEDULE MainProgram
-program ompdoschedule
+program OMPDOSCHEDULE
!DEF: /OMPDOSCHEDULE/a ObjectEntity REAL(4)
!DEF: /OMPDOSCHEDULE/y ObjectEntity REAL(4)
!DEF: /OMPDOSCHEDULE/z ObjectEntity REAL(4)
@@ -25,4 +25,4 @@ program ompdoschedule
y(i) = z(i-1) + a(i)
end do
!$omp end do
-end program ompdoschedule
+end program OMPDOSCHEDULE
diff --git a/flang/test/Semantics/OpenMP/do01-positivecase.f90 b/flang/test/Semantics/OpenMP/do01-positivecase.f90
index a4a28f6530d7b..50a6870f43896 100644
--- a/flang/test/Semantics/OpenMP/do01-positivecase.f90
+++ b/flang/test/Semantics/OpenMP/do01-positivecase.f90
@@ -5,7 +5,7 @@
! A positive case
!DEF: /OMP_DO MainProgram
-program omp_do
+program OMP_DO
!DEF: /OMP_DO/i ObjectEntity INTEGER(4)
integer i
@@ -16,4 +16,4 @@ program omp_do
end do
!$omp end do
-end program omp_do
+end program OMP_DO
diff --git a/flang/test/Semantics/OpenMP/do04-positivecase.f90 b/flang/test/Semantics/OpenMP/do04-positivecase.f90
index 0b0c661687dc2..51b69fce3c7cc 100644
--- a/flang/test/Semantics/OpenMP/do04-positivecase.f90
+++ b/flang/test/Semantics/OpenMP/do04-positivecase.f90
@@ -3,7 +3,7 @@
! 2.7.1 Do Loop Constructs
!DEF: /OMP_DO1 MainProgram
-program omp_do1
+program OMP_DO1
!DEF: /OMP_DO1/i ObjectEntity INTEGER(4)
!DEF: /OMP_DO1/j ObjectEntity INTEGER(4)
!DEF: /OMP_DO1/k (OmpThreadprivate) ObjectEntity INTEGER(4)
@@ -19,4 +19,4 @@ program omp_do1
end do
end do
!$omp end do
-end program omp_do1
+end program OMP_DO1
diff --git a/flang/test/Semantics/OpenMP/do05-positivecase.f90 b/flang/test/Semantics/OpenMP/do05-positivecase.f90
index 07b12dd1d4d23..d4eb1fd6bc3da 100644
--- a/flang/test/Semantics/OpenMP/do05-positivecase.f90
+++ b/flang/test/Semantics/OpenMP/do05-positivecase.f90
@@ -4,7 +4,7 @@
! A positive case
!DEF: /OMP_DO MainProgram
-program omp_do
+program OMP_DO
!DEF: /OMP_DO/i ObjectEntity INTEGER(4)
!DEF: /OMP_DO/n ObjectEntity INTEGER(4)
integer i,n
@@ -71,4 +71,4 @@ program omp_do
!REF: /OMP_DO/OtherConstruct7/i
if(i < 5) cycle
end do
-end program omp_do
+end program OMP_DO
diff --git a/flang/test/Semantics/OpenMP/do06-positivecases.f90 b/flang/test/Semantics/OpenMP/do06-positivecases.f90
index 4d45800298a29..dfb1d999bbc53 100644
--- a/flang/test/Semantics/OpenMP/do06-positivecases.f90
+++ b/flang/test/Semantics/OpenMP/do06-positivecases.f90
@@ -6,7 +6,7 @@
! A positive case
!DEF: /OMP_DO MainProgram
-program omp_do
+program OMP_DO
!DEF: /OMP_DO/i ObjectEntity INTEGER(4)
!DEF: /OMP_DO/j ObjectEntity INTEGER(4)
!DEF: /OMP_DO/k ObjectEntity INTEGER(4)
@@ -20,4 +20,4 @@ program omp_do
!$omp end ordered
end do
!$omp end do
-end program omp_do
+end program OMP_DO
diff --git a/flang/test/Semantics/OpenMP/do11.f90 b/flang/test/Semantics/OpenMP/do11.f90
index 886a9f7ae6081..472048d684276 100644
--- a/flang/test/Semantics/OpenMP/do11.f90
+++ b/flang/test/Semantics/OpenMP/do11.f90
@@ -3,7 +3,7 @@
! 2.7.1 Do Loop Constructs
!DEF: /OMP_DO MainProgram
-program omp_do
+program OMP_DO
!DEF: /OMP_DO/i ObjectEntity INTEGER(4)
!DEF: /OMP_DO/j ObjectEntity INTEGER(4)
!DEF: /OMP_DO/k ObjectEntity INTEGER(4)
@@ -19,17 +19,17 @@ program omp_do
end do
end do
!$omp end do
-end program omp_do
+end program OMP_DO
-!DEF: /OMP_DO2 (Subroutine)Subprogram
+!DEF: /omp_do2 (Subroutine)Subprogram
subroutine omp_do2
- !DEF: /OMP_DO2/i ObjectEntity INTEGER(4)
- !DEF: /OMP_DO2/k ObjectEntity INTEGER(4)
+ !DEF: /omp_do2/i ObjectEntity INTEGER(4)
+ !DEF: /omp_do2/k ObjectEntity INTEGER(4)
integer :: i = 0, k
!$omp do
- !DEF: /OMP_DO2/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
+ !DEF: /omp_do2/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do i=1,10
- !REF: /OMP_DO2/OtherConstruct1/i
+ !REF: /omp_do2/OtherConstruct1/i
print *, "it", i
end do
!$omp end do
>From 3e3d5d489bd2d299cb14bdeca728856f8bd59f18 Mon Sep 17 00:00:00 2001
From: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: Tue, 15 Jul 2025 23:03:25 -0400
Subject: [PATCH 06/11] More test changes
---
flang/test/Semantics/OpenMP/declare-target03.f90 | 4 ++--
flang/test/Semantics/OpenMP/do12.f90 | 2 +-
flang/test/Semantics/OpenMP/do14.f90 | 4 ++--
flang/test/Semantics/OpenMP/do17.f90 | 4 ++--
flang/test/Semantics/OpenMP/reduction08.f90 | 4 ++--
flang/test/Semantics/OpenMP/reduction09.f90 | 4 ++--
flang/test/Semantics/OpenMP/symbol01.f90 | 2 +-
flang/test/Semantics/OpenMP/symbol05.f90 | 4 ++--
flang/test/Semantics/OpenMP/symbol07.f90 | 4 ++--
flang/test/Semantics/OpenMP/symbol09.f90 | 4 ++--
flang/test/Semantics/OpenMP/threadprivate03.f90 | 4 ++--
flang/test/Semantics/long-name.f90 | 2 +-
flang/test/Semantics/pointer01.f90 | 1 -
flang/test/Semantics/procinterface01.f90 | 4 ++--
flang/test/Semantics/resolve05.f90 | 1 -
flang/test/Semantics/symbol03.f90 | 2 +-
flang/test/Semantics/symbol06.f90 | 2 +-
flang/test/Semantics/symbol07.f90 | 2 +-
flang/test/Semantics/symbol08.f90 | 2 +-
flang/test/Semantics/symbol15.f90 | 2 +-
flang/test/Semantics/symbol16.f90 | 2 +-
flang/test/Semantics/symbol17.f90 | 2 +-
flang/test/Semantics/symbol18.f90 | 2 +-
flang/test/Semantics/symbol20.f90 | 2 +-
flang/test/Semantics/symbol25.f90 | 2 +-
flang/test/Semantics/symbol26.f90 | 2 +-
26 files changed, 34 insertions(+), 36 deletions(-)
diff --git a/flang/test/Semantics/OpenMP/declare-target03.f90 b/flang/test/Semantics/OpenMP/declare-target03.f90
index 64a299d78224a..b3d6551ac85de 100644
--- a/flang/test/Semantics/OpenMP/declare-target03.f90
+++ b/flang/test/Semantics/OpenMP/declare-target03.f90
@@ -16,7 +16,7 @@ program main
!ERROR: The module name or main program name cannot be in a DECLARE TARGET directive
!$omp declare target (mod1)
- !PORTABILITY: Name 'main' declared in a main program should not have the same name as the main program [-Wbenign-name-clash]
- !ERROR: The module name or main program name cannot be in a DECLARE TARGET directive
+ ! This is now allowed: "main" is implicitly declared symbol separate
+ ! from the main program symbol
!$omp declare target (main)
end
diff --git a/flang/test/Semantics/OpenMP/do12.f90 b/flang/test/Semantics/OpenMP/do12.f90
index f36a230426197..06055b7572a60 100644
--- a/flang/test/Semantics/OpenMP/do12.f90
+++ b/flang/test/Semantics/OpenMP/do12.f90
@@ -3,7 +3,7 @@
! 2.7.1 Do Loop constructs.
!DEF: /OMP_CYCLE MainProgram
-program omp_cycle
+program OMP_CYCLE
!$omp do collapse(1)
!DEF: /OMP_CYCLE/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do i=0,10
diff --git a/flang/test/Semantics/OpenMP/do14.f90 b/flang/test/Semantics/OpenMP/do14.f90
index b508d32d90201..e17647394fff7 100644
--- a/flang/test/Semantics/OpenMP/do14.f90
+++ b/flang/test/Semantics/OpenMP/do14.f90
@@ -3,7 +3,7 @@
! 2.7.1 Do Loop constructs.
!DEF: /OMP_CYCLE MainProgram
-program omp_cycle
+program OMP_CYCLE
!$omp do collapse(1)
!DEF: /OMP_CYCLE/OtherConstruct1/i (OmpPrivate, OmpPreDetermined) HostAssoc INTEGER(4)
do i=0,10
@@ -88,4 +88,4 @@ program omp_cycle
end do foo1
end do foo
!$omp end do
-end program omp_cycle
+end program OMP_CYCLE
diff --git a/flang/test/Semantics/OpenMP/do17.f90 b/flang/test/Semantics/OpenMP/do17.f90
index 0a4cf46d2d6af..cac11f215f074 100644
--- a/flang/test/Semantics/OpenMP/do17.f90
+++ b/flang/test/Semantics/OpenMP/do17.f90
@@ -3,7 +3,7 @@
! 2.7.1 Do Loop constructs.
!DEF: /TEST MainProgram
-program test
+program TEST
!DEF: /TEST/i ObjectEntity INTEGER(4)
!DEF: /TEST/j ObjectEntity INTEGER(4)
!DEF: /TEST/k ObjectEntity INTEGER(4)
@@ -54,4 +54,4 @@ program test
end do foo1
end do foo
!$omp end do
-end program test
+end program TEST
diff --git a/flang/test/Semantics/OpenMP/reduction08.f90 b/flang/test/Semantics/OpenMP/reduction08.f90
index 1cf2838fe765a..b4a81e644c1e7 100644
--- a/flang/test/Semantics/OpenMP/reduction08.f90
+++ b/flang/test/Semantics/OpenMP/reduction08.f90
@@ -3,7 +3,7 @@
! 2.15.3.6 Reduction Clause Positive cases
!DEF: /OMP_REDUCTION MainProgram
-program omp_reduction
+program OMP_REDUCTION
!DEF: /OMP_REDUCTION/i ObjectEntity INTEGER(4)
integer i
!DEF: /OMP_REDUCTION/k ObjectEntity INTEGER(4)
@@ -60,4 +60,4 @@ program omp_reduction
end do
!$omp end parallel do
-end program omp_reduction
+end program OMP_REDUCTION
diff --git a/flang/test/Semantics/OpenMP/reduction09.f90 b/flang/test/Semantics/OpenMP/reduction09.f90
index 4b1ca116d675b..ca60805e8c416 100644
--- a/flang/test/Semantics/OpenMP/reduction09.f90
+++ b/flang/test/Semantics/OpenMP/reduction09.f90
@@ -2,7 +2,7 @@
! OpenMP Version 4.5
! 2.15.3.6 Reduction Clause Positive cases.
!DEF: /OMP_REDUCTION MainProgram
-program omp_reduction
+program OMP_REDUCTION
!DEF: /OMP_REDUCTION/i ObjectEntity INTEGER(4)
integer i
!DEF: /OMP_REDUCTION/k ObjectEntity INTEGER(4)
@@ -73,4 +73,4 @@ program omp_reduction
k = k+1
end do
!$omp end do
-end program omp_reduction
+end program OMP_REDUCTION
diff --git a/flang/test/Semantics/OpenMP/symbol01.f90 b/flang/test/Semantics/OpenMP/symbol01.f90
index c1f16d61ada1e..74fb420cc517e 100644
--- a/flang/test/Semantics/OpenMP/symbol01.f90
+++ b/flang/test/Semantics/OpenMP/symbol01.f90
@@ -17,7 +17,7 @@ module md
end type myty
end module md
!DEF: /MM MainProgram
-program mm
+program MM
!REF: /md
use :: md
!DEF: /MM/c CommonBlockDetails
diff --git a/flang/test/Semantics/OpenMP/symbol05.f90 b/flang/test/Semantics/OpenMP/symbol05.f90
index 03e2c0ba3e0cc..4f3d1926013dc 100644
--- a/flang/test/Semantics/OpenMP/symbol05.f90
+++ b/flang/test/Semantics/OpenMP/symbol05.f90
@@ -32,9 +32,9 @@ subroutine foo
end subroutine foo
end module mm
!DEF: /TT MainProgram
-program tt
+program TT
!REF: /mm
use :: mm
!DEF: /TT/foo (Subroutine) Use
call foo
-end program tt
+end program TT
diff --git a/flang/test/Semantics/OpenMP/symbol07.f90 b/flang/test/Semantics/OpenMP/symbol07.f90
index f5eb2127819bd..1b0c25b7a04b0 100644
--- a/flang/test/Semantics/OpenMP/symbol07.f90
+++ b/flang/test/Semantics/OpenMP/symbol07.f90
@@ -31,7 +31,7 @@ subroutine function_call_in_region
print *, a, b
end subroutine function_call_in_region
!DEF: /MM MainProgram
-program mm
+program MM
!REF: /function_call_in_region
call function_call_in_region
-end program mm
+end program MM
diff --git a/flang/test/Semantics/OpenMP/symbol09.f90 b/flang/test/Semantics/OpenMP/symbol09.f90
index f5eb2127819bd..1b0c25b7a04b0 100644
--- a/flang/test/Semantics/OpenMP/symbol09.f90
+++ b/flang/test/Semantics/OpenMP/symbol09.f90
@@ -31,7 +31,7 @@ subroutine function_call_in_region
print *, a, b
end subroutine function_call_in_region
!DEF: /MM MainProgram
-program mm
+program MM
!REF: /function_call_in_region
call function_call_in_region
-end program mm
+end program MM
diff --git a/flang/test/Semantics/OpenMP/threadprivate03.f90 b/flang/test/Semantics/OpenMP/threadprivate03.f90
index 81e26ee327a9d..9f222773ad432 100644
--- a/flang/test/Semantics/OpenMP/threadprivate03.f90
+++ b/flang/test/Semantics/OpenMP/threadprivate03.f90
@@ -13,8 +13,8 @@ program main
!ERROR: The module name or main program name cannot be in a THREADPRIVATE directive
!$omp threadprivate(mod1)
- !PORTABILITY: Name 'main' declared in a main program should not have the same name as the main program [-Wbenign-name-clash]
- !ERROR: The module name or main program name cannot be in a THREADPRIVATE directive
+ ! This is now allowed, since "main" is implicitly declared symbol,
+ ! separate from the main program symbol.
!$omp threadprivate(main)
!ERROR: The entity with PARAMETER attribute cannot be in a THREADPRIVATE directive
diff --git a/flang/test/Semantics/long-name.f90 b/flang/test/Semantics/long-name.f90
index 44899b13edd5a..d5a795113e204 100644
--- a/flang/test/Semantics/long-name.f90
+++ b/flang/test/Semantics/long-name.f90
@@ -1,6 +1,6 @@
! RUN: %python %S/test_errors.py %s %flang_fc1 -Werror -pedantic
-!PORTABILITY: aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffffggg1 has length 64, which is greater than the maximum name length 63 [-Wlong-names]
+!PORTABILITY: AAAAAAAAAABBBBBBBBBBCCCCCCCCCCDDDDDDDDDDEEEEEEEEEEFFFFFFFFFFGGG1 has length 64, which is greater than the maximum name length 63 [-Wlong-names]
program aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffffggg1
!PORTABILITY: aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffffggg2 has length 64, which is greater than the maximum name length 63 [-Wlong-names]
diff --git a/flang/test/Semantics/pointer01.f90 b/flang/test/Semantics/pointer01.f90
index eaa2426dd77e3..79d6016a6af46 100644
--- a/flang/test/Semantics/pointer01.f90
+++ b/flang/test/Semantics/pointer01.f90
@@ -7,7 +7,6 @@ subroutine msubr
end module
program main
use m
- !PORTABILITY: Name 'main' declared in a main program should not have the same name as the main program [-Wbenign-name-clash]
pointer main
!ERROR: Cannot change POINTER attribute on use-associated 'mobj'
pointer mobj
diff --git a/flang/test/Semantics/procinterface01.f90 b/flang/test/Semantics/procinterface01.f90
index 7542bb8bb6fa4..70f4a889d6809 100644
--- a/flang/test/Semantics/procinterface01.f90
+++ b/flang/test/Semantics/procinterface01.f90
@@ -160,7 +160,7 @@ end function logical
end function tan
!DEF: /MAIN MainProgram
-program main
+program MAIN
!REF: /module1
use :: module1
!DEF: /MAIN/derived1 Use
@@ -190,4 +190,4 @@ program main
!REF: /MAIN/instance
!REF: /module1/derived1/p8
if (instance%p8(1.)/="a") print *, "p8 failed"
-end program main
+end program MAIN
diff --git a/flang/test/Semantics/resolve05.f90 b/flang/test/Semantics/resolve05.f90
index 0c9877af9b4e2..7b142d2ebd613 100644
--- a/flang/test/Semantics/resolve05.f90
+++ b/flang/test/Semantics/resolve05.f90
@@ -1,6 +1,5 @@
! RUN: %python %S/test_errors.py %s %flang_fc1 -pedantic
program p
- !PORTABILITY: Name 'p' declared in a main program should not have the same name as the main program [-Wbenign-name-clash]
integer :: p
end
module m
diff --git a/flang/test/Semantics/symbol03.f90 b/flang/test/Semantics/symbol03.f90
index f50a0e91fd289..62472495d9736 100644
--- a/flang/test/Semantics/symbol03.f90
+++ b/flang/test/Semantics/symbol03.f90
@@ -2,7 +2,7 @@
! Test host association in internal subroutine of main program.
!DEF: /MAIN MainProgram
-program main
+program MAIN
!DEF: /MAIN/x ObjectEntity INTEGER(4)
integer x
!DEF: /MAIN/s (Subroutine) Subprogram
diff --git a/flang/test/Semantics/symbol06.f90 b/flang/test/Semantics/symbol06.f90
index 984ebcc1c651c..b45edabcd5318 100644
--- a/flang/test/Semantics/symbol06.f90
+++ b/flang/test/Semantics/symbol06.f90
@@ -1,6 +1,6 @@
! RUN: %python %S/test_symbols.py %s %flang_fc1
!DEF: /MAIN MainProgram
-program main
+program MAIN
!DEF: /MAIN/t1 DerivedType
type :: t1
!DEF: /MAIN/t1/a1 ObjectEntity INTEGER(4)
diff --git a/flang/test/Semantics/symbol07.f90 b/flang/test/Semantics/symbol07.f90
index b3e92f1465fa6..e1d8257b9e190 100644
--- a/flang/test/Semantics/symbol07.f90
+++ b/flang/test/Semantics/symbol07.f90
@@ -1,6 +1,6 @@
! RUN: %python %S/test_symbols.py %s %flang_fc1
!DEF: /MAIN MainProgram
-program main
+program MAIN
implicit complex(z)
!DEF: /MAIN/t DerivedType
type :: t
diff --git a/flang/test/Semantics/symbol08.f90 b/flang/test/Semantics/symbol08.f90
index e2e9959d0a591..933ff6d0c2ba8 100644
--- a/flang/test/Semantics/symbol08.f90
+++ b/flang/test/Semantics/symbol08.f90
@@ -1,6 +1,6 @@
! RUN: %python %S/test_symbols.py %s %flang_fc1
!DEF: /MAIN MainProgram
-program main
+program MAIN
!DEF: /MAIN/x POINTER ObjectEntity REAL(4)
pointer :: x
!REF: /MAIN/x
diff --git a/flang/test/Semantics/symbol15.f90 b/flang/test/Semantics/symbol15.f90
index 5cc1cf58b4f21..79a45491306ef 100644
--- a/flang/test/Semantics/symbol15.f90
+++ b/flang/test/Semantics/symbol15.f90
@@ -250,7 +250,7 @@ subroutine ext2
subroutine ext3
end subroutine
!DEF: /MAIN MainProgram
-program main
+program MAIN
!REF: /m
use :: m
!DEF: /MAIN/pdt1 Use
diff --git a/flang/test/Semantics/symbol16.f90 b/flang/test/Semantics/symbol16.f90
index c29831a5dfa90..547c4624d4cdb 100644
--- a/flang/test/Semantics/symbol16.f90
+++ b/flang/test/Semantics/symbol16.f90
@@ -2,7 +2,7 @@
! Statement functions
!DEF: /P1 MainProgram
-program p1
+program P1
!DEF: /P1/f (Function, StmtFunction) Subprogram INTEGER(4)
!DEF: /P1/i ObjectEntity INTEGER(4)
!DEF: /P1/j ObjectEntity INTEGER(4)
diff --git a/flang/test/Semantics/symbol17.f90 b/flang/test/Semantics/symbol17.f90
index 51f3afb19692d..a0d916e55cfa4 100644
--- a/flang/test/Semantics/symbol17.f90
+++ b/flang/test/Semantics/symbol17.f90
@@ -2,7 +2,7 @@
! Forward references to derived types (non-error cases)
!DEF: /MAIN MainProgram
-program main
+program MAIN
!DEF: /MAIN/t1 DerivedType
type :: t1
!DEF: /MAIN/t2 DerivedType
diff --git a/flang/test/Semantics/symbol18.f90 b/flang/test/Semantics/symbol18.f90
index bfe25ff4df25f..6e41bb5db91ee 100644
--- a/flang/test/Semantics/symbol18.f90
+++ b/flang/test/Semantics/symbol18.f90
@@ -3,7 +3,7 @@
! Intrinsic function in type declaration statement: type is ignored
!DEF: /P1 MainProgram
-program p1
+program P1
!DEF: /P1/cos ELEMENTAL, INTRINSIC, PURE (Function) ProcEntity INTEGER(4)
integer cos
!DEF: /P1/y (Implicit) ObjectEntity REAL(4)
diff --git a/flang/test/Semantics/symbol20.f90 b/flang/test/Semantics/symbol20.f90
index 20bd1bdbf2a7c..bf3aff489b3b9 100644
--- a/flang/test/Semantics/symbol20.f90
+++ b/flang/test/Semantics/symbol20.f90
@@ -33,7 +33,7 @@ subroutine bar
end subroutine
end module
!DEF: /DEMO MainProgram
-program demo
+program DEMO
!REF: /m
use :: m
!DEF: /DEMO/bar (Subroutine) Use
diff --git a/flang/test/Semantics/symbol25.f90 b/flang/test/Semantics/symbol25.f90
index a131bf899340f..ac47a19eae8cc 100644
--- a/flang/test/Semantics/symbol25.f90
+++ b/flang/test/Semantics/symbol25.f90
@@ -39,7 +39,7 @@ end subroutine inner1
end subroutine outer
end module m
!DEF: /MAIN MainProgram
-program main
+program MAIN
!REF: /m
use :: m
!REF: /m/specific1
diff --git a/flang/test/Semantics/symbol26.f90 b/flang/test/Semantics/symbol26.f90
index e04cd32df57c4..dded4b632c654 100644
--- a/flang/test/Semantics/symbol26.f90
+++ b/flang/test/Semantics/symbol26.f90
@@ -9,7 +9,7 @@ module m
namelist/a/j
end module m
!DEF: /MAIN MainProgram
-program main
+program MAIN
!DEF: /MAIN/j (Implicit) ObjectEntity INTEGER(4)
j = 1
contains
>From 37dbcbf9c27aa973b939dfa45a709e8307937405 Mon Sep 17 00:00:00 2001
From: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: Wed, 16 Jul 2025 14:28:06 -0400
Subject: [PATCH 07/11] More test changes
---
flang/test/Semantics/getsymbols03-a.f90 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/flang/test/Semantics/getsymbols03-a.f90 b/flang/test/Semantics/getsymbols03-a.f90
index e3c2e0bf53f92..5c5e87575a9cb 100644
--- a/flang/test/Semantics/getsymbols03-a.f90
+++ b/flang/test/Semantics/getsymbols03-a.f90
@@ -8,7 +8,7 @@ program main
end program
! RUN: %flang_fc1 -fget-symbols-sources %s 2>&1 | FileCheck %s
-! CHECK:f:{{.*}}getsymbols03-b.f90, 2, 12-13
! CHECK:MAIN:{{.*}}getsymbols03-a.f90, 4, 9-13
+! CHECK:f:{{.*}}getsymbols03-b.f90, 2, 12-13
! CHECK:mm3:{{.*}}getsymbols03-a.f90, 5, 6-9
! CHECK:x:{{.*}}getsymbols03-a.f90, 6, 13-14
>From 8cd6fa1d597d328effcbbd1544d3e614e5ad8377 Mon Sep 17 00:00:00 2001
From: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: Wed, 16 Jul 2025 15:06:18 -0400
Subject: [PATCH 08/11] Tweaked the error message and updated the tests
accordingly
---
flang/lib/Semantics/check-omp-structure.cpp | 3 +--
flang/test/Semantics/OpenMP/declare-target03.f90 | 2 +-
flang/test/Semantics/OpenMP/threadprivate03.f90 | 2 +-
3 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/flang/lib/Semantics/check-omp-structure.cpp b/flang/lib/Semantics/check-omp-structure.cpp
index 2425265e196c6..e4a94efcc6b55 100644
--- a/flang/lib/Semantics/check-omp-structure.cpp
+++ b/flang/lib/Semantics/check-omp-structure.cpp
@@ -1156,8 +1156,7 @@ void OmpStructureChecker::CheckThreadprivateOrDeclareTargetVar(
(sym->has<MainProgramDetails>() ||
sym->has<ModuleDetails>())) {
context_.Say(name->source,
- "The module name or main program name cannot be in a "
- "%s "
+ "The module name cannot be in a %s "
"directive"_err_en_US,
ContextDirectiveAsFortran());
} else if (!IsSaved(*name->symbol) &&
diff --git a/flang/test/Semantics/OpenMP/declare-target03.f90 b/flang/test/Semantics/OpenMP/declare-target03.f90
index b3d6551ac85de..48cfc68393873 100644
--- a/flang/test/Semantics/OpenMP/declare-target03.f90
+++ b/flang/test/Semantics/OpenMP/declare-target03.f90
@@ -13,7 +13,7 @@ subroutine bar
program main
use mod1
- !ERROR: The module name or main program name cannot be in a DECLARE TARGET directive
+ !ERROR: The module name cannot be in a DECLARE TARGET directive
!$omp declare target (mod1)
! This is now allowed: "main" is implicitly declared symbol separate
diff --git a/flang/test/Semantics/OpenMP/threadprivate03.f90 b/flang/test/Semantics/OpenMP/threadprivate03.f90
index 9f222773ad432..fda2fe608ac3c 100644
--- a/flang/test/Semantics/OpenMP/threadprivate03.f90
+++ b/flang/test/Semantics/OpenMP/threadprivate03.f90
@@ -10,7 +10,7 @@ program main
use mod1
integer, parameter :: i = 1
- !ERROR: The module name or main program name cannot be in a THREADPRIVATE directive
+ !ERROR: The module name cannot be in a THREADPRIVATE directive
!$omp threadprivate(mod1)
! This is now allowed, since "main" is implicitly declared symbol,
>From 103af162b881d2f39f404d6546e11734b0feb795 Mon Sep 17 00:00:00 2001
From: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: Wed, 16 Jul 2025 15:15:01 -0400
Subject: [PATCH 09/11] Documentation change
---
flang/docs/Extensions.md | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/flang/docs/Extensions.md b/flang/docs/Extensions.md
index 72d12cd92600d..a7d9281be3e98 100644
--- a/flang/docs/Extensions.md
+++ b/flang/docs/Extensions.md
@@ -1,9 +1,9 @@
-<!--===- docs/Extensions.md
-
+<!--===- docs/Extensions.md
+
Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
See https://llvm.org/LICENSE.txt for license information.
SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-
+
-->
# Fortran Extensions supported by Flang
@@ -170,6 +170,15 @@ end
In the case of `DEFERRED` bindings in an `ABSTRACT` derived type,
however, overrides are necessary, so they are permitted for inaccessible
bindings with an optional warning.
+* Main program name is allowed to be the same as the other symbols used
+ in the main program, for example:
+```
+module m
+end
+program m
+use m
+end
+```
## Extensions, deletions, and legacy features supported by default
>From 13b2ec43c619383690b7a2c673d5836f4173e6d8 Mon Sep 17 00:00:00 2001
From: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: Wed, 16 Jul 2025 20:22:13 -0400
Subject: [PATCH 10/11] Code review feedback
---
flang/docs/Extensions.md | 3 +++
flang/lib/Semantics/resolve-labels.cpp | 11 ++++-------
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/flang/docs/Extensions.md b/flang/docs/Extensions.md
index a7d9281be3e98..c167a55bc486d 100644
--- a/flang/docs/Extensions.md
+++ b/flang/docs/Extensions.md
@@ -179,6 +179,9 @@ program m
use m
end
```
+ Note that internally the main program symbol name is all uppercase, unlike
+ the names of all other symbols, which are usually all lowercase. This
+ may make a difference in testing/debugging.
## Extensions, deletions, and legacy features supported by default
diff --git a/flang/lib/Semantics/resolve-labels.cpp b/flang/lib/Semantics/resolve-labels.cpp
index d3fda03383783..2b3ddccfcb2f5 100644
--- a/flang/lib/Semantics/resolve-labels.cpp
+++ b/flang/lib/Semantics/resolve-labels.cpp
@@ -492,8 +492,8 @@ class ParseTreeAnalyzer {
// Uppercase the name of the main program, so that its symbol name
// would be unique from similarly named non-main-program symbols.
auto upperCaseCharBlock = [](const parser::CharBlock &cb) {
- char *ch = const_cast<char *>(cb.begin());
- char *endCh = ch + cb.size();
+ char *ch{const_cast<char *>(cb.begin())};
+ char *endCh{ch + cb.size()};
while (ch != endCh) {
*ch++ = parser::ToUpperCaseLetter(*ch);
}
@@ -503,13 +503,10 @@ class ParseTreeAnalyzer {
std::get<std::optional<parser::Statement<parser::ProgramStmt>>>(
mainProgram.t)}) {
progName = &program->statement.v.source;
- }
- if (progName) {
upperCaseCharBlock(*progName);
}
- const parser::CharBlock *endName{GetStmtName(
- std::get<parser::Statement<parser::EndProgramStmt>>(mainProgram.t))};
- if (endName) {
+ if (const parser::CharBlock *endName{GetStmtName(
+ std::get<parser::Statement<parser::EndProgramStmt>>(mainProgram.t))}) {
upperCaseCharBlock(*endName);
if (progName) {
if (*endName != *progName) {
>From 82f1fc244360fe8b06c48e5229712afc0aee3215 Mon Sep 17 00:00:00 2001
From: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: Wed, 16 Jul 2025 20:22:57 -0400
Subject: [PATCH 11/11] clang-format
---
flang/lib/Semantics/resolve-labels.cpp | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/flang/lib/Semantics/resolve-labels.cpp b/flang/lib/Semantics/resolve-labels.cpp
index 2b3ddccfcb2f5..27e259fab3873 100644
--- a/flang/lib/Semantics/resolve-labels.cpp
+++ b/flang/lib/Semantics/resolve-labels.cpp
@@ -505,8 +505,9 @@ class ParseTreeAnalyzer {
progName = &program->statement.v.source;
upperCaseCharBlock(*progName);
}
- if (const parser::CharBlock *endName{GetStmtName(
- std::get<parser::Statement<parser::EndProgramStmt>>(mainProgram.t))}) {
+ if (const parser::CharBlock *
+ endName{GetStmtName(std::get<parser::Statement<parser::EndProgramStmt>>(
+ mainProgram.t))}) {
upperCaseCharBlock(*endName);
if (progName) {
if (*endName != *progName) {
More information about the flang-commits
mailing list