diff --git a/flang/docs/Extensions.md b/flang/docs/Extensions.md index 72d12cd92600d..c167a55bc486d 100644 --- a/flang/docs/Extensions.md +++ b/flang/docs/Extensions.md @@ -1,9 +1,9 @@ - # Fortran Extensions supported by Flang @@ -170,6 +170,18 @@ end In the case of `DEFERRED` bindings in an `ABSTRACT` derived type, however, overrides are necessary, so they are permitted for inaccessible bindings with an optional warning. +* Main program name is allowed to be the same as the other symbols used + in the main program, for example: +``` +module m +end +program m +use m +end +``` + Note that internally the main program symbol name is all uppercase, unlike + the names of all other symbols, which are usually all lowercase. This + may make a difference in testing/debugging. ## Extensions, deletions, and legacy features supported by default diff --git a/flang/lib/Semantics/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() || sym->has())) { 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/lib/Semantics/resolve-labels.cpp b/flang/lib/Semantics/resolve-labels.cpp index b0cbc4b56e889..27e259fab3873 100644 --- a/flang/lib/Semantics/resolve-labels.cpp +++ b/flang/lib/Semantics/resolve-labels.cpp @@ -489,15 +489,30 @@ class ParseTreeAnalyzer { // C1401 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(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>>( + mainProgram.t)}) { + progName = &program->statement.v.source; + upperCaseCharBlock(*progName); + } if (const parser::CharBlock * endName{GetStmtName(std::get>( mainProgram.t))}) { - if (const auto &program{ - std::get>>( - mainProgram.t)}) { - if (*endName != program->statement.v.source) { + 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, 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>>}> {bindc_name = "a", data_attr = #cuf.cuda, uniq_name = "_QFEa"} ! CHECK: %{{.*}} = cuf.alloc !fir.type<_QMm1Tt2{b:!fir.type<_QMm1Tt1{a:!fir.box>>}>}> {bindc_name = "b", data_attr = #cuf.cuda, 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>> {bindc_name = "a", data_attr = #cuf.cuda, uniq_name = "_QFEa"} -> !fir.ref>>> ! 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>}> ! CHECK: %[[VAL_1:.*]] = fir.alloca !fir.type<_QMmTdt{pp1:!fir.boxproc<(!fir.ref) -> i32>}> ! CHECK: %[[VAL_2:.*]] = fir.alloca !fir.boxproc<(!fir.ref) -> 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) -> (!fir.ref, !fir.ref) ! 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) -> (!fir.ref, !fir.ref) !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 {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} 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) -> (!fir.ref, !fir.ref) !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) -> (!fir.ref, !fir.ref) !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) -> (!fir.ref, !fir.ref) !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) !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) -> (!fir.ref, !fir.ref) !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) -> (!fir.ref, !fir.ref) !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 ! CHECK: %[[VAL_1:.*]]:2 = hlfir.declare %[[VAL_0]] {uniq_name = "_QFEi"} : (!fir.ref) -> (!fir.ref, !fir.ref) ! CHECK: %[[VAL_2:.*]] = fir.address_of(@_QFEr) : !fir.ref>>> 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> ! CHECK: %[[VAL_0:.*]] = fir.address_of(@_QFEi) : !fir.ref> ! 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> ! 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 !CHECK: omp.yield(%[[C0]] : !fir.ref) !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) -> (!fir.ref, !fir.ref) !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 ! CHECK: %[[VAL_1:.*]]:2 = hlfir.declare %[[VAL_0]] {uniq_name = "_QFEi"} : (!fir.ref) -> (!fir.ref, !fir.ref) ! CHECK: %[[VAL_2:.*]] = fir.address_of(@_QFEr) : !fir.ref>>> 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) -> (!fir.ref, !fir.ref) ! 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) -> (!fir.ref, !fir.ref) !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 !CHECK: %[[COUNT_DECL:.*]]:2 = hlfir.declare %[[COUNT]] {uniq_name = "_QFEcount"} : (!fir.ref) -> (!fir.ref, !fir.ref) !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, uniq_name = "_QFEa"} : (!fir.ref) -> (!fir.ref, !fir.ref) !CHECK: %[[A_ADDR:.*]] = fir.address_of(@_QFEa) : !fir.ref 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, uniq_name = "_QFEa"} : (!fir.ref) -> (!fir.ref, !fir.ref) !CHECK: %[[A_ADDR:.*]] = fir.address_of(@_QFEa) : !fir.ref 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 !CHECK: %[[A_DECL:.*]]:2 = hlfir.declare %[[A]] {fortran_attrs = #fir.var_attrs, uniq_name = "_QFEa"} : (!fir.ref) -> (!fir.ref, !fir.ref) !CHECK: %[[TP_A:.*]] = omp.threadprivate %[[A_DECL]]#0 : !fir.ref -> !fir.ref 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) -> (!fir.ref, !fir.ref) 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) -> (!fir.ref, !fir.ref) 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>>> ! CHECK: %[[VAL_1:.*]]:2 = hlfir.declare %[[VAL_0]] {fortran_attrs = {{.*}}, uniq_name = "_QFEarr"} : (!fir.ref>>>) -> (!fir.ref>>>, !fir.ref>>>) ! 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 ! CHECK: %[[VAL_1:.*]]:2 = hlfir.declare %[[VAL_0]] {uniq_name = "_QFEi"} : (!fir.ref) -> (!fir.ref, !fir.ref) ! CHECK: %[[VAL_2:.*]] = fir.alloca !fir.box> {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>>) ! 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>>) 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>>) ! 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>>) 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 ! CHECK: %[[VAL_1:.*]]:2 = hlfir.declare %[[VAL_0]] {uniq_name = "_QFEi"} : (!fir.ref) -> (!fir.ref, !fir.ref) ! CHECK: %[[VAL_2:.*]] = fir.address_of(@_QFEr) : !fir.ref> 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 ! CHECK: %[[VAL_1:.*]]:2 = hlfir.declare %[[VAL_0]] {uniq_name = "_QFEi"} : (!fir.ref) -> (!fir.ref, !fir.ref) ! CHECK: %[[VAL_2:.*]] = fir.address_of(@_QFEr) : !fir.ref> 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 ! CHECK: %[[VAL_1:.*]]:2 = hlfir.declare %[[VAL_0]] {uniq_name = "_QFEi"} : (!fir.ref) -> (!fir.ref, !fir.ref) ! CHECK: %[[VAL_2:.*]] = fir.address_of(@_QFEr) : !fir.ref 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> ! 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) -> (!fir.ref, !fir.ref) ! CHECK: %[[VAL_2:.*]] = fir.alloca !fir.box> {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, 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 : (!fir.ref, !fir.ref, i64) -> i1 loc(fused<#fir>["{{.*}}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}>>>> ! CHECK: %[[BOX_NONE:.*]] = fir.convert %[[ADDR_O]] : (!fir.ref}>>>>) -> !fir.ref> ! CHECK: %{{.*}} = fir.call @_FortranAAllocatableAllocate(%[[BOX_NONE]], %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}, %{{.*}}) {{.*}} : (!fir.ref>, !fir.ref, i1, !fir.box, !fir.ref, 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..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) +!DEF: /MM MainProgram +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 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/declare-target03.f90 b/flang/test/Semantics/OpenMP/declare-target03.f90 index 64a299d78224a..48cfc68393873 100644 --- a/flang/test/Semantics/OpenMP/declare-target03.f90 +++ b/flang/test/Semantics/OpenMP/declare-target03.f90 @@ -13,10 +13,10 @@ 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) - !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/do-schedule03.f90 b/flang/test/Semantics/OpenMP/do-schedule03.f90 index 8787b094d581a..05602ca57e4a9 100644 --- a/flang/test/Semantics/OpenMP/do-schedule03.f90 +++ b/flang/test/Semantics/OpenMP/do-schedule03.f90 @@ -2,27 +2,27 @@ ! OpenMP Version 4.5 ! 2.7.1 Schedule Clause ! Test that does not catch non constant integer expressions like xx - xx. - !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 MainProgram +program OMPDOSCHEDULE + !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 -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 905fdbaf18476..50a6870f43896 100644 --- a/flang/test/Semantics/OpenMP/do01-positivecase.f90 +++ b/flang/test/Semantics/OpenMP/do01-positivecase.f90 @@ -4,16 +4,16 @@ ! The loop iteration variable may not appear in a firstprivate directive. ! A positive case -!DEF: /omp_do MainProgram -program omp_do - !DEF: /omp_do/i ObjectEntity INTEGER(4) +!DEF: /OMP_DO MainProgram +program OMP_DO + !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 !$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 eb2d67bb8ceb2..51b69fce3c7cc 100644 --- a/flang/test/Semantics/OpenMP/do04-positivecase.f90 +++ b/flang/test/Semantics/OpenMP/do04-positivecase.f90 @@ -2,21 +2,21 @@ ! OpenMP Version 4.5 ! 2.7.1 Do Loop Constructs -!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 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) 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 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 eda04610535c2..d4eb1fd6bc3da 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 -program omp_do - !DEF: /omp_do/i ObjectEntity INTEGER(4) - !DEF: /omp_do/n ObjectEntity INTEGER(4) +!DEF: /OMP_DO MainProgram +program OMP_DO + !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 +end program OMP_DO diff --git a/flang/test/Semantics/OpenMP/do06-positivecases.f90 b/flang/test/Semantics/OpenMP/do06-positivecases.f90 index 2713b55fa2ecb..dfb1d999bbc53 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 -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 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) 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 @@ -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 faab457efff3c..472048d684276 100644 --- a/flang/test/Semantics/OpenMP/do11.f90 +++ b/flang/test/Semantics/OpenMP/do11.f90 @@ -2,24 +2,24 @@ ! OpenMP Version 4.5 ! 2.7.1 Do Loop Constructs -!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 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) 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 +end program OMP_DO !DEF: /omp_do2 (Subroutine)Subprogram subroutine omp_do2 diff --git a/flang/test/Semantics/OpenMP/do12.f90 b/flang/test/Semantics/OpenMP/do12.f90 index a057a246f7a99..06055b7572a60 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 -program omp_cycle +!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..e17647394fff7 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 -program omp_cycle +!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,19 +73,19 @@ 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 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 c0c59f16dee1b..cac11f215f074 100644 --- a/flang/test/Semantics/OpenMP/do17.f90 +++ b/flang/test/Semantics/OpenMP/do17.f90 @@ -2,56 +2,56 @@ ! OpenMP Version 4.5 ! 2.7.1 Do Loop constructs. -!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 MainProgram +program TEST + !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 end do foo !$omp end do -end program test +end program TEST 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..b4a81e644c1e7 100644 --- a/flang/test/Semantics/OpenMP/reduction08.f90 +++ b/flang/test/Semantics/OpenMP/reduction08.f90 @@ -2,62 +2,62 @@ ! OpenMP Version 4.5 ! 2.15.3.6 Reduction Clause Positive cases -!DEF: /omp_reduction MainProgram -program omp_reduction - !DEF: /omp_reduction/i ObjectEntity INTEGER(4) +!DEF: /OMP_REDUCTION MainProgram +program OMP_REDUCTION + !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 -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 d6c71c30d2834..ca60805e8c416 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 -program omp_reduction - !DEF: /omp_reduction/i ObjectEntity INTEGER(4) +!DEF: /OMP_REDUCTION MainProgram +program OMP_REDUCTION + !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,53 +24,53 @@ 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 -end program omp_reduction +end program OMP_REDUCTION 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..74fb420cc517e 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 -program mm +!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..4f3d1926013dc 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 -program tt +!DEF: /TT MainProgram +program TT !REF: /mm use :: mm - !DEF: /tt/foo (Subroutine) Use + !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 86b7305411347..1b0c25b7a04b0 100644 --- a/flang/test/Semantics/OpenMP/symbol07.f90 +++ b/flang/test/Semantics/OpenMP/symbol07.f90 @@ -30,8 +30,8 @@ subroutine function_call_in_region !REF: /function_call_in_region/b print *, a, b end subroutine function_call_in_region -!DEF: /mm MainProgram -program mm +!DEF: /MM MainProgram +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 86b7305411347..1b0c25b7a04b0 100644 --- a/flang/test/Semantics/OpenMP/symbol09.f90 +++ b/flang/test/Semantics/OpenMP/symbol09.f90 @@ -30,8 +30,8 @@ subroutine function_call_in_region !REF: /function_call_in_region/b print *, a, b end subroutine function_call_in_region -!DEF: /mm MainProgram -program mm +!DEF: /MM MainProgram +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..fda2fe608ac3c 100644 --- a/flang/test/Semantics/OpenMP/threadprivate03.f90 +++ b/flang/test/Semantics/OpenMP/threadprivate03.f90 @@ -10,11 +10,11 @@ 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) - !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/getsymbols03-a.f90 b/flang/test/Semantics/getsymbols03-a.f90 index 95b7fb418367d..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:MAIN:{{.*}}getsymbols03-a.f90, 4, 9-13 ! CHECK:f:{{.*}}getsymbols03-b.f90, 2, 12-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/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/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/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 73040b0987bd0..70f4a889d6809 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 -program main +!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 +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/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..62472495d9736 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 -program main - !DEF: /main/x ObjectEntity INTEGER(4) +!DEF: /MAIN MainProgram +program MAIN + !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..b45edabcd5318 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 -program main - !DEF: /main/t1 DerivedType +!DEF: /MAIN MainProgram +program MAIN + !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..e1d8257b9e190 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 -program main +!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..933ff6d0c2ba8 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 -program main - !DEF: /main/x POINTER ObjectEntity REAL(4) +!DEF: /MAIN MainProgram +program MAIN + !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..79a45491306ef 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 -program main +!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..547c4624d4cdb 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 -program p1 - !DEF: /p1/f (Function, StmtFunction) Subprogram INTEGER(4) - !DEF: /p1/i ObjectEntity INTEGER(4) - !DEF: /p1/j ObjectEntity INTEGER(4) +!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) 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..a0d916e55cfa4 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 -program main - !DEF: /main/t1 DerivedType +!DEF: /MAIN MainProgram +program MAIN + !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..6e41bb5db91ee 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 -program p1 - !DEF: /p1/cos ELEMENTAL, INTRINSIC, PURE (Function) ProcEntity INTEGER(4) +!DEF: /P1 MainProgram +program P1 + !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..bf3aff489b3b9 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 -program demo +!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..ac47a19eae8cc 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 -program main +!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..dded4b632c654 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 -program main - !DEF: /main/j (Implicit) ObjectEntity INTEGER(4) +!DEF: /MAIN MainProgram +program MAIN + !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.shape<1>) -> (!fir.ref>, !fir.ref>)