[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
Wed Jul 16 12:12:00 PDT 2025
https://github.com/eugeneepshteyn created https://github.com/llvm/llvm-project/pull/149169
The following code is now accepted:
```
module m
end
program m
use m
end
```
The PROGRAM name doesn't really have an effect on the compilation result, so it shouldn't result in symbol name conflicts.
This change makes the main program symbol name all uppercase in the cooked character stream. This makes it distinct from all other symbol names that are all lowercase in cooked character stream.
>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 1/8] [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 2/8] 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 3/8] 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 4/8] 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 5/8] 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 6/8] 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 7/8] 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 8/8] 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,
More information about the flang-commits
mailing list