-
Notifications
You must be signed in to change notification settings - Fork 12.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Flang] Add a semantic check and LLVM Lowering support for UNTIED TASK
Implementation details: The UNTIED clause is recognized by setting the flag=0 for the default case or performing logical OR to flag if other clauses are specified, and this flag is passed as an argument to the `__kmpc_omp_task_alloc` runtime call.
- Loading branch information
1 parent
334a576
commit 5eb942e
Showing
8 changed files
with
108 additions
and
25 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
! RUN: %python %S/../test_errors.py %s %flang %openmp_flags | ||
! | ||
! OpenMP 5.2: 5.2 threadprivate directive restriction | ||
|
||
subroutine task_united01() | ||
integer, save :: var_01, var_02(2) | ||
real :: var_03 | ||
common /c/ var_03 | ||
|
||
!$omp threadprivate(var_01, var_02) | ||
!$omp threadprivate(/c/) | ||
|
||
!$omp task untied | ||
!ERROR: A THREADPRIVATE variable `var_01` cannot appear in a UNTIED TASK region | ||
var_01 = 10 | ||
!ERROR: A THREADPRIVATE variable `var_02` cannot appear in a UNTIED TASK region | ||
!ERROR: A THREADPRIVATE variable `var_01` cannot appear in a UNTIED TASK region | ||
var_02(1) = sum([var_01, 20]) | ||
!$omp end task | ||
|
||
!$omp task untied | ||
!ERROR: A THREADPRIVATE variable `var_02` cannot appear in a UNTIED TASK region | ||
!ERROR: A THREADPRIVATE variable `var_02` cannot appear in a UNTIED TASK region | ||
var_02(2) = product(var_02) | ||
!ERROR: A THREADPRIVATE variable `var_03` cannot appear in a UNTIED TASK region | ||
var_03 = 3.14 | ||
!$omp end task | ||
end subroutine task_united01 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters