[flang][cuda] Allow DO CONCURRENT in cuf kernel (#124190)
This commit is contained in:
committed by
GitHub
parent
4065d985ab
commit
3d59e30cbc
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user