[flang-commits] [flang] [flang][debug] Supply missing subprogram attributes (PR #181425)
via flang-commits
flang-commits at lists.llvm.org
Thu Feb 19 04:50:11 PST 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results
* 4010 tests passed
* 201 tests skipped
* 4 tests failed
## Failed Tests
(click on a test name to see its output)
### Flang
<details>
<summary>Flang.Lower/OpenMP/declare-target-func-and-subr.f90</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/flang -fc1 -emit-hlfir -fopenmp -fopenmp-version=52 /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-func-and-subr.f90 -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-func-and-subr.f90 --check-prefixes ALL,HOST
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/flang -fc1 -emit-hlfir -fopenmp -fopenmp-version=52 /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-func-and-subr.f90 -o -
# .---command stderr------------
# | warning: OpenMP support for version 52 in flang is still incomplete
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-func-and-subr.f90:11:22: warning: The usage of TO clause on DECLARE TARGET directive has been deprecated. Use ENTER clause instead. [-Wopen-mp-usage]
# | !$omp declare target to(FUNC_T_DEVICE) device_type(nohost)
# | ^^^^^^^^^^^^^^^^^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-func-and-subr.f90:27:22: warning: The usage of TO clause on DECLARE TARGET directive has been deprecated. Use ENTER clause instead. [-Wopen-mp-usage]
# | !$omp declare target to(FUNC_T_HOST) device_type(host)
# | ^^^^^^^^^^^^^^^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-func-and-subr.f90:43:22: warning: The usage of TO clause on DECLARE TARGET directive has been deprecated. Use ENTER clause instead. [-Wopen-mp-usage]
# | !$omp declare target to(FUNC_T_ANY) device_type(any)
# | ^^^^^^^^^^^^^^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-func-and-subr.f90:59:22: warning: The usage of TO clause on DECLARE TARGET directive has been deprecated. Use ENTER clause instead. [-Wopen-mp-usage]
# | !$omp declare target to(FUNC_DEFAULT_T_ANY)
# | ^^^^^^^^^^^^^^^^^^^^^^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-func-and-subr.f90:104:22: warning: The usage of TO clause on DECLARE TARGET directive has been deprecated. Use ENTER clause instead. [-Wopen-mp-usage]
# | !$omp declare target to(SUBR_T_DEVICE) device_type(nohost)
# | ^^^^^^^^^^^^^^^^^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-func-and-subr.f90:116:22: warning: The usage of TO clause on DECLARE TARGET directive has been deprecated. Use ENTER clause instead. [-Wopen-mp-usage]
# | !$omp declare target to(SUBR_T_HOST) device_type(host)
# | ^^^^^^^^^^^^^^^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-func-and-subr.f90:128:22: warning: The usage of TO clause on DECLARE TARGET directive has been deprecated. Use ENTER clause instead. [-Wopen-mp-usage]
# | !$omp declare target to(SUBR_T_ANY) device_type(any)
# | ^^^^^^^^^^^^^^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-func-and-subr.f90:140:22: warning: The usage of TO clause on DECLARE TARGET directive has been deprecated. Use ENTER clause instead. [-Wopen-mp-usage]
# | !$omp declare target to(SUBR_DEFAULT_T_ANY)
# | ^^^^^^^^^^^^^^^^^^^^^^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-func-and-subr.f90:166:22: warning: The usage of TO clause on DECLARE TARGET directive has been deprecated. Use ENTER clause instead. [-Wopen-mp-usage]
# | !$omp declare target to(RECURSIVE_DECLARE_TARGET) device_type(nohost)
# | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# `-----------------------------
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-func-and-subr.f90 --check-prefixes ALL,HOST
# note: command had no output on stdout or stderr
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/flang -fc1 -emit-hlfir -fopenmp -fopenmp-version=52 -fopenmp-is-device /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-func-and-subr.f90 -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-func-and-subr.f90 --check-prefixes ALL,DEVICE
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/flang -fc1 -emit-hlfir -fopenmp -fopenmp-version=52 -fopenmp-is-device /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-func-and-subr.f90 -o -
# .---command stderr------------
# | warning: OpenMP support for version 52 in flang is still incomplete
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-func-and-subr.f90:11:22: warning: The usage of TO clause on DECLARE TARGET directive has been deprecated. Use ENTER clause instead. [-Wopen-mp-usage]
# | !$omp declare target to(FUNC_T_DEVICE) device_type(nohost)
# | ^^^^^^^^^^^^^^^^^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-func-and-subr.f90:27:22: warning: The usage of TO clause on DECLARE TARGET directive has been deprecated. Use ENTER clause instead. [-Wopen-mp-usage]
# | !$omp declare target to(FUNC_T_HOST) device_type(host)
# | ^^^^^^^^^^^^^^^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-func-and-subr.f90:43:22: warning: The usage of TO clause on DECLARE TARGET directive has been deprecated. Use ENTER clause instead. [-Wopen-mp-usage]
# | !$omp declare target to(FUNC_T_ANY) device_type(any)
# | ^^^^^^^^^^^^^^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-func-and-subr.f90:59:22: warning: The usage of TO clause on DECLARE TARGET directive has been deprecated. Use ENTER clause instead. [-Wopen-mp-usage]
# | !$omp declare target to(FUNC_DEFAULT_T_ANY)
# | ^^^^^^^^^^^^^^^^^^^^^^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-func-and-subr.f90:104:22: warning: The usage of TO clause on DECLARE TARGET directive has been deprecated. Use ENTER clause instead. [-Wopen-mp-usage]
# | !$omp declare target to(SUBR_T_DEVICE) device_type(nohost)
# | ^^^^^^^^^^^^^^^^^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-func-and-subr.f90:116:22: warning: The usage of TO clause on DECLARE TARGET directive has been deprecated. Use ENTER clause instead. [-Wopen-mp-usage]
# | !$omp declare target to(SUBR_T_HOST) device_type(host)
# | ^^^^^^^^^^^^^^^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-func-and-subr.f90:128:22: warning: The usage of TO clause on DECLARE TARGET directive has been deprecated. Use ENTER clause instead. [-Wopen-mp-usage]
# | !$omp declare target to(SUBR_T_ANY) device_type(any)
# | ^^^^^^^^^^^^^^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-func-and-subr.f90:140:22: warning: The usage of TO clause on DECLARE TARGET directive has been deprecated. Use ENTER clause instead. [-Wopen-mp-usage]
# | !$omp declare target to(SUBR_DEFAULT_T_ANY)
# | ^^^^^^^^^^^^^^^^^^^^^^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-func-and-subr.f90:166:22: warning: The usage of TO clause on DECLARE TARGET directive has been deprecated. Use ENTER clause instead. [-Wopen-mp-usage]
# | !$omp declare target to(RECURSIVE_DECLARE_TARGET) device_type(nohost)
# | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# `-----------------------------
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-func-and-subr.f90 --check-prefixes ALL,DEVICE
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-func-and-subr.f90:164:16: error: DEVICE-SAME: expected string not found in input
# | ! DEVICE-SAME: {{.*}}attributes {omp.declare_target = #omp.declaretarget<device_type = (nohost), capture_clause = (to), automap = false>{{.*}}
# | ^
# | <stdin>:115:40: note: scanning from here
# | func.func @_QPrecursive_declare_target(%arg0: !fir.ref<i32> {fir.bindc_name = "increment"}) -> i32 attributes {fir.proc_attrs = #fir.proc_attrs<recursive>, omp.declare_target = #omp.declaretarget<device_type = (nohost), capture_clause = (to), automap = false>} {
# | ^
# | <stdin>:115:145: note: possible intended match here
# | func.func @_QPrecursive_declare_target(%arg0: !fir.ref<i32> {fir.bindc_name = "increment"}) -> i32 attributes {fir.proc_attrs = #fir.proc_attrs<recursive>, omp.declare_target = #omp.declaretarget<device_type = (nohost), capture_clause = (to), automap = false>} {
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-func-and-subr.f90:176:16: error: DEVICE-SAME: expected string not found in input
# | ! DEVICE-SAME: {{.*}}attributes {omp.declare_target = #omp.declaretarget<device_type = (nohost), capture_clause = (enter), automap = false>{{.*}}
# | ^
# | <stdin>:138:46: note: scanning from here
# | func.func @_QPrecursive_declare_target_enter(%arg0: !fir.ref<i32> {fir.bindc_name = "increment"}) -> i32 attributes {fir.proc_attrs = #fir.proc_attrs<recursive>, omp.declare_target = #omp.declaretarget<device_type = (nohost), capture_clause = (enter), automap = false>} {
# | ^
# | <stdin>:138:151: note: possible intended match here
# | func.func @_QPrecursive_declare_target_enter(%arg0: !fir.ref<i32> {fir.bindc_name = "increment"}) -> i32 attributes {fir.proc_attrs = #fir.proc_attrs<recursive>, omp.declare_target = #omp.declaretarget<device_type = (nohost), capture_clause = (enter), automap = false>} {
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-func-and-subr.f90
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 110: }
# | 111: func.func @_QPsubr_default_extendedlist() attributes {omp.declare_target = #omp.declaretarget<device_type = (any), capture_clause = (to), automap = false>} {
# | 112: %0 = fir.dummy_scope : !fir.dscope
# | 113: return
# | 114: }
# | 115: func.func @_QPrecursive_declare_target(%arg0: !fir.ref<i32> {fir.bindc_name = "increment"}) -> i32 attributes {fir.proc_attrs = #fir.proc_attrs<recursive>, omp.declare_target = #omp.declaretarget<device_type = (nohost), capture_clause = (to), automap = false>} {
# | same:164'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | same:164'1 ? possible intended match
# | 116: %0 = fir.dummy_scope : !fir.dscope
# | same:164'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 117: %1:2 = hlfir.declare %arg0 dummy_scope %0 arg 1 {uniq_name = "_QFrecursive_declare_targetEincrement"} : (!fir.ref<i32>, !fir.dscope) -> (!fir.ref<i32>, !fir.ref<i32>)
# | same:164'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 118: %2 = fir.alloca i32 {bindc_name = "k", uniq_name = "_QFrecursive_declare_targetEk"}
# | same:164'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 119: %3:2 = hlfir.declare %2 {uniq_name = "_QFrecursive_declare_targetEk"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
# | same:164'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 120: %4 = fir.load %1#0 : !fir.ref<i32>
# | same:164'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 133: hlfir.end_associate %9#1, %9#2 : !fir.ref<i32>, i1
# | same:164'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 134: }
# | same:164'0 ~~~
# | 135: %6 = fir.load %3#0 : !fir.ref<i32>
# | same:164'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 136: return %6 : i32
# | same:164'0 ~~~~~~~~~~~~~~~~~
# | 137: }
# | same:164'0 ~~~
# | 138: func.func @_QPrecursive_declare_target_enter(%arg0: !fir.ref<i32> {fir.bindc_name = "increment"}) -> i32 attributes {fir.proc_attrs = #fir.proc_attrs<recursive>, omp.declare_target = #omp.declaretarget<device_type = (nohost), capture_clause = (enter), automap = false>} {
# | same:164'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | same:176'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | same:176'1 ? possible intended match
# | 139: %0 = fir.dummy_scope : !fir.dscope
# | same:176'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 140: %1:2 = hlfir.declare %arg0 dummy_scope %0 arg 1 {uniq_name = "_QFrecursive_declare_target_enterEincrement"} : (!fir.ref<i32>, !fir.dscope) -> (!fir.ref<i32>, !fir.ref<i32>)
# | same:176'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 141: %2 = fir.alloca i32 {bindc_name = "k", uniq_name = "_QFrecursive_declare_target_enterEk"}
# | same:176'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 142: %3:2 = hlfir.declare %2 {uniq_name = "_QFrecursive_declare_target_enterEk"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
# | same:176'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 143: %4 = fir.load %1#0 : !fir.ref<i32>
# | same:176'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>Flang.Lower/OpenMP/declare-target-implicit-func-and-subr-cap-enter.f90</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/flang -fc1 -emit-hlfir -fopenmp -fopenmp-version=52 /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap-enter.f90 -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap-enter.f90
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/flang -fc1 -emit-hlfir -fopenmp -fopenmp-version=52 /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap-enter.f90 -o -
# .---command stderr------------
# | warning: OpenMP support for version 52 in flang is still incomplete
# `-----------------------------
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap-enter.f90
# note: command had no output on stdout or stderr
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/flang -fc1 -emit-hlfir -fopenmp -fopenmp-version=52 -fopenmp-is-target-device /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap-enter.f90 -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap-enter.f90 --check-prefix=DEVICE
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/flang -fc1 -emit-hlfir -fopenmp -fopenmp-version=52 -fopenmp-is-target-device /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap-enter.f90 -o -
# .---command stderr------------
# | warning: OpenMP support for version 52 in flang is still incomplete
# `-----------------------------
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap-enter.f90 --check-prefix=DEVICE
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap-enter.f90:108:16: error: DEVICE-SAME: expected string not found in input
# | ! DEVICE-SAME: {{.*}}attributes {omp.declare_target = #omp.declaretarget<device_type = (any), capture_clause = (enter), automap = false>{{.*}}}
# | ^
# | <stdin>:124:59: note: scanning from here
# | func.func @_QPimplicitly_captured_with_dev_type_recursive(%arg0: !fir.ref<i32> {fir.bindc_name = "increment"}) -> i32 attributes {fir.proc_attrs = #fir.proc_attrs<recursive>, omp.declare_target = #omp.declaretarget<device_type = (any), capture_clause = (enter), automap = false>} {
# | ^
# | <stdin>:124:164: note: possible intended match here
# | func.func @_QPimplicitly_captured_with_dev_type_recursive(%arg0: !fir.ref<i32> {fir.bindc_name = "increment"}) -> i32 attributes {fir.proc_attrs = #fir.proc_attrs<recursive>, omp.declare_target = #omp.declaretarget<device_type = (any), capture_clause = (enter), automap = false>} {
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap-enter.f90:177:16: error: DEVICE-SAME: expected string not found in input
# | ! DEVICE-SAME: {{.*}}attributes {omp.declare_target = #omp.declaretarget<device_type = (nohost), capture_clause = (enter), automap = false>{{.*}}}
# | ^
# | <stdin>:201:45: note: scanning from here
# | func.func @_QPimplicitly_captured_recursive(%arg0: !fir.ref<i32> {fir.bindc_name = "increment"}) attributes {fir.proc_attrs = #fir.proc_attrs<recursive>, omp.declare_target = #omp.declaretarget<device_type = (nohost), capture_clause = (enter), automap = false>} {
# | ^
# | <stdin>:201:143: note: possible intended match here
# | func.func @_QPimplicitly_captured_recursive(%arg0: !fir.ref<i32> {fir.bindc_name = "increment"}) attributes {fir.proc_attrs = #fir.proc_attrs<recursive>, omp.declare_target = #omp.declaretarget<device_type = (nohost), capture_clause = (enter), automap = false>} {
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap-enter.f90
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 119: %8 = arith.addi %6, %7 : i32
# | 120: hlfir.assign %8 to %4#0 : i32, !fir.ref<i32>
# | 121: %9 = fir.load %4#0 : !fir.ref<i32>
# | 122: return %9 : i32
# | 123: }
# | 124: func.func @_QPimplicitly_captured_with_dev_type_recursive(%arg0: !fir.ref<i32> {fir.bindc_name = "increment"}) -> i32 attributes {fir.proc_attrs = #fir.proc_attrs<recursive>, omp.declare_target = #omp.declaretarget<device_type = (any), capture_clause = (enter), automap = false>} {
# | same:108'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | same:108'1 ? possible intended match
# | 125: %0 = fir.dummy_scope : !fir.dscope
# | same:108'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 126: %1:2 = hlfir.declare %arg0 dummy_scope %0 arg 1 {uniq_name = "_QFimplicitly_captured_with_dev_type_recursiveEincrement"} : (!fir.ref<i32>, !fir.dscope) -> (!fir.ref<i32>, !fir.ref<i32>)
# | same:108'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 127: %2 = fir.alloca i32 {bindc_name = "k", uniq_name = "_QFimplicitly_captured_with_dev_type_recursiveEk"}
# | same:108'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 128: %3:2 = hlfir.declare %2 {uniq_name = "_QFimplicitly_captured_with_dev_type_recursiveEk"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
# | same:108'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 129: %4 = fir.load %1#0 : !fir.ref<i32>
# | same:108'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 196: %8 = arith.addi %6, %7 : i32
# | 197: hlfir.assign %8 to %4#0 : i32, !fir.ref<i32>
# | 198: %9 = fir.load %4#0 : !fir.ref<i32>
# | 199: return %9 : i32
# | 200: }
# | 201: func.func @_QPimplicitly_captured_recursive(%arg0: !fir.ref<i32> {fir.bindc_name = "increment"}) attributes {fir.proc_attrs = #fir.proc_attrs<recursive>, omp.declare_target = #omp.declaretarget<device_type = (nohost), capture_clause = (enter), automap = false>} {
# | same:177'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | same:177'1 ? possible intended match
# | 202: %0 = fir.dummy_scope : !fir.dscope
# | same:177'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 203: %1:2 = hlfir.declare %arg0 dummy_scope %0 arg 1 {uniq_name = "_QFimplicitly_captured_recursiveEincrement"} : (!fir.ref<i32>, !fir.dscope) -> (!fir.ref<i32>, !fir.ref<i32>)
# | same:177'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 204: %2 = fir.load %1#0 : !fir.ref<i32>
# | same:177'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 205: %c10_i32 = arith.constant 10 : i32
# | same:177'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 206: %3 = arith.cmpi eq, %2, %c10_i32 : i32
# | same:177'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>Flang.Lower/OpenMP/declare-target-implicit-func-and-subr-cap.f90</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/flang -fc1 -emit-hlfir -fopenmp -fopenmp-version=50 /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap.f90 -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap.f90
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/flang -fc1 -emit-hlfir -fopenmp -fopenmp-version=50 /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap.f90 -o -
# .---command stderr------------
# | warning: OpenMP support for version 50 in flang is still incomplete
# `-----------------------------
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap.f90
# note: command had no output on stdout or stderr
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/flang -fc1 -emit-hlfir -fopenmp -fopenmp-version=50 -fopenmp-is-target-device /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap.f90 -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap.f90 --check-prefix=DEVICE
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/flang -fc1 -emit-hlfir -fopenmp -fopenmp-version=50 -fopenmp-is-target-device /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap.f90 -o -
# .---command stderr------------
# | warning: OpenMP support for version 50 in flang is still incomplete
# `-----------------------------
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap.f90 --check-prefix=DEVICE
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap.f90:134:16: error: DEVICE-SAME: expected string not found in input
# | ! DEVICE-SAME: {{.*}}attributes {omp.declare_target = #omp.declaretarget<device_type = (any), capture_clause = (to), automap = false>{{.*}}}
# | ^
# | <stdin>:159:59: note: scanning from here
# | func.func @_QPimplicitly_captured_with_dev_type_recursive(%arg0: !fir.ref<i32> {fir.bindc_name = "increment"}) -> i32 attributes {fir.proc_attrs = #fir.proc_attrs<recursive>, omp.declare_target = #omp.declaretarget<device_type = (any), capture_clause = (to), automap = false>} {
# | ^
# | <stdin>:159:164: note: possible intended match here
# | func.func @_QPimplicitly_captured_with_dev_type_recursive(%arg0: !fir.ref<i32> {fir.bindc_name = "increment"}) -> i32 attributes {fir.proc_attrs = #fir.proc_attrs<recursive>, omp.declare_target = #omp.declaretarget<device_type = (any), capture_clause = (to), automap = false>} {
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap.f90:203:16: error: DEVICE-SAME: expected string not found in input
# | ! DEVICE-SAME: {{.*}}attributes {omp.declare_target = #omp.declaretarget<device_type = (nohost), capture_clause = (to), automap = false>{{.*}}}
# | ^
# | <stdin>:236:45: note: scanning from here
# | func.func @_QPimplicitly_captured_recursive(%arg0: !fir.ref<i32> {fir.bindc_name = "increment"}) attributes {fir.proc_attrs = #fir.proc_attrs<recursive>, omp.declare_target = #omp.declaretarget<device_type = (nohost), capture_clause = (to), automap = false>} {
# | ^
# | <stdin>:236:143: note: possible intended match here
# | func.func @_QPimplicitly_captured_recursive(%arg0: !fir.ref<i32> {fir.bindc_name = "increment"}) attributes {fir.proc_attrs = #fir.proc_attrs<recursive>, omp.declare_target = #omp.declaretarget<device_type = (nohost), capture_clause = (to), automap = false>} {
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap.f90
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 154: %8 = arith.addi %6, %7 : i32
# | 155: hlfir.assign %8 to %4#0 : i32, !fir.ref<i32>
# | 156: %9 = fir.load %4#0 : !fir.ref<i32>
# | 157: return %9 : i32
# | 158: }
# | 159: func.func @_QPimplicitly_captured_with_dev_type_recursive(%arg0: !fir.ref<i32> {fir.bindc_name = "increment"}) -> i32 attributes {fir.proc_attrs = #fir.proc_attrs<recursive>, omp.declare_target = #omp.declaretarget<device_type = (any), capture_clause = (to), automap = false>} {
# | same:134'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | same:134'1 ? possible intended match
# | 160: %0 = fir.dummy_scope : !fir.dscope
# | same:134'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 161: %1:2 = hlfir.declare %arg0 dummy_scope %0 arg 1 {uniq_name = "_QFimplicitly_captured_with_dev_type_recursiveEincrement"} : (!fir.ref<i32>, !fir.dscope) -> (!fir.ref<i32>, !fir.ref<i32>)
# | same:134'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 162: %2 = fir.alloca i32 {bindc_name = "k", uniq_name = "_QFimplicitly_captured_with_dev_type_recursiveEk"}
# | same:134'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 163: %3:2 = hlfir.declare %2 {uniq_name = "_QFimplicitly_captured_with_dev_type_recursiveEk"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
# | same:134'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 164: %4 = fir.load %1#0 : !fir.ref<i32>
# | same:134'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 231: %8 = arith.addi %6, %7 : i32
# | 232: hlfir.assign %8 to %4#0 : i32, !fir.ref<i32>
# | 233: %9 = fir.load %4#0 : !fir.ref<i32>
# | 234: return %9 : i32
# | 235: }
# | 236: func.func @_QPimplicitly_captured_recursive(%arg0: !fir.ref<i32> {fir.bindc_name = "increment"}) attributes {fir.proc_attrs = #fir.proc_attrs<recursive>, omp.declare_target = #omp.declaretarget<device_type = (nohost), capture_clause = (to), automap = false>} {
# | same:203'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | same:203'1 ? possible intended match
# | 237: %0 = fir.dummy_scope : !fir.dscope
# | same:203'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 238: %1:2 = hlfir.declare %arg0 dummy_scope %0 arg 1 {uniq_name = "_QFimplicitly_captured_recursiveEincrement"} : (!fir.ref<i32>, !fir.dscope) -> (!fir.ref<i32>, !fir.ref<i32>)
# | same:203'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 239: %2 = fir.load %1#0 : !fir.ref<i32>
# | same:203'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 240: %c10_i32 = arith.constant 10 : i32
# | same:203'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 241: %3 = arith.cmpi eq, %2, %c10_i32 : i32
# | same:203'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>Flang.Lower/OpenMP/declare-target-implicit-tarop-cap.f90</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/flang -fc1 -emit-hlfir -fopenmp -fopenmp-version=52 /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-implicit-tarop-cap.f90 -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-implicit-tarop-cap.f90
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/flang -fc1 -emit-hlfir -fopenmp -fopenmp-version=52 /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-implicit-tarop-cap.f90 -o -
# .---command stderr------------
# | warning: OpenMP support for version 52 in flang is still incomplete
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-implicit-tarop-cap.f90:33:22: warning: The usage of TO clause on DECLARE TARGET directive has been deprecated. Use ENTER clause instead. [-Wopen-mp-usage]
# | !$omp declare target to(implicitly_captured_one_twice) device_type(host)
# | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# `-----------------------------
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-implicit-tarop-cap.f90
# note: command had no output on stdout or stderr
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/flang -fc1 -emit-hlfir -fopenmp -fopenmp-version=52 -fopenmp-is-device /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-implicit-tarop-cap.f90 -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-implicit-tarop-cap.f90 --check-prefix=DEVICE
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/flang -fc1 -emit-hlfir -fopenmp -fopenmp-version=52 -fopenmp-is-device /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-implicit-tarop-cap.f90 -o -
# .---command stderr------------
# | warning: OpenMP support for version 52 in flang is still incomplete
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-implicit-tarop-cap.f90:33:22: warning: The usage of TO clause on DECLARE TARGET directive has been deprecated. Use ENTER clause instead. [-Wopen-mp-usage]
# | !$omp declare target to(implicitly_captured_one_twice) device_type(host)
# | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# `-----------------------------
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-implicit-tarop-cap.f90 --check-prefix=DEVICE
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-implicit-tarop-cap.f90:70:16: error: DEVICE-SAME: expected string not found in input
# | ! DEVICE-SAME: {{.*}}attributes {omp.declare_target = #omp.declaretarget<device_type = (nohost), capture_clause = (to), automap = false>{{.*}}}
# | ^
# | <stdin>:74:45: note: scanning from here
# | func.func @_QPimplicitly_captured_recursive(%arg0: !fir.ref<i32> {fir.bindc_name = "increment"}) -> i32 attributes {fir.proc_attrs = #fir.proc_attrs<recursive>, omp.declare_target = #omp.declaretarget<device_type = (nohost), capture_clause = (to), automap = false>} {
# | ^
# | <stdin>:97:47: note: possible intended match here
# | func.func @_QPtarget_function_recurse() -> i32 attributes {omp.declare_target = #omp.declaretarget<device_type = (host), capture_clause = (to), automap = false>} {
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/flang/test/Lower/OpenMP/declare-target-implicit-tarop-cap.f90
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 69: omp.terminator
# | 70: }
# | 71: %8 = fir.undefined i32
# | 72: return %8 : i32
# | 73: }
# | 74: func.func @_QPimplicitly_captured_recursive(%arg0: !fir.ref<i32> {fir.bindc_name = "increment"}) -> i32 attributes {fir.proc_attrs = #fir.proc_attrs<recursive>, omp.declare_target = #omp.declaretarget<device_type = (nohost), capture_clause = (to), automap = false>} {
# | same:70'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | 75: %0 = fir.dummy_scope : !fir.dscope
# | same:70'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 76: %1:2 = hlfir.declare %arg0 dummy_scope %0 arg 1 {uniq_name = "_QFimplicitly_captured_recursiveEincrement"} : (!fir.ref<i32>, !fir.dscope) -> (!fir.ref<i32>, !fir.ref<i32>)
# | same:70'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 77: %2 = fir.alloca i32 {bindc_name = "k", uniq_name = "_QFimplicitly_captured_recursiveEk"}
# | same:70'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 78: %3:2 = hlfir.declare %2 {uniq_name = "_QFimplicitly_captured_recursiveEk"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
# | same:70'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 79: %4 = fir.load %1#0 : !fir.ref<i32>
# | same:70'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 92: hlfir.end_associate %9#1, %9#2 : !fir.ref<i32>, i1
# | same:70'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 93: }
# | same:70'0 ~~~
# | 94: %6 = fir.load %3#0 : !fir.ref<i32>
# | same:70'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 95: return %6 : i32
# | same:70'0 ~~~~~~~~~~~~~~~~~
# | 96: }
# | same:70'0 ~~~
# | 97: func.func @_QPtarget_function_recurse() -> i32 attributes {omp.declare_target = #omp.declaretarget<device_type = (host), capture_clause = (to), automap = false>} {
# | same:70'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | same:70'1 ? possible intended match
# | 98: %0 = fir.alloca i1
# | same:70'0 ~~~~~~~~~~~~~~~~~~~~
# | 99: %1 = fir.convert %0 : (!fir.ref<i1>) -> !fir.ref<i32>
# | same:70'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 100: %2:2 = hlfir.declare %1 {uniq_name = "_QFtarget_function_recurseEi"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
# | same:70'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 101: %3 = omp.map.info var_ptr(%2#1 : !fir.ref<i32>, i32) map_clauses(tofrom) capture(ByRef) -> !fir.ref<i32> {name = "i"}
# | same:70'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 102: omp.target map_entries(%3 -> %arg0 : !fir.ref<i32>) {
# | same:70'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.
https://github.com/llvm/llvm-project/pull/181425
More information about the flang-commits
mailing list