[flang][cuda] Allow DO CONCURRENT in cuf kernel (#124190)

This commit is contained in:
Valentin Clement (バレンタイン クレメン)
2025-01-23 15:09:39 -08:00
committed by GitHub
parent 4065d985ab
commit 3d59e30cbc
2 changed files with 2 additions and 2 deletions

View File

@@ -520,7 +520,8 @@ void CUDAChecker::Enter(const parser::SeparateModuleSubprogram &x) {
static int DoConstructTightNesting(
const parser::DoConstruct *doConstruct, const parser::Block *&innerBlock) {
if (!doConstruct || !doConstruct->IsDoNormal()) {
if (!doConstruct ||
(!doConstruct->IsDoNormal() && !doConstruct->IsDoConcurrent())) {
return 0;
}
innerBlock = &std::get<parser::Block>(doConstruct->t);

View File

@@ -130,7 +130,6 @@ program main
do
exit
end do
!ERROR: !$CUF KERNEL DO (1) must be followed by a DO construct with tightly nested outer levels of counted DO loops
!$cuf kernel do <<< 1, 2 >>>
do concurrent (j=1:10)
end do