mirror of
https://github.com/intel/llvm.git
synced 2026-01-21 12:19:23 +08:00
[Flang][OpenMP][Semantics] Modify errors to warnings for semantic checks in IS_DEVICE_PTR related to list-items being dummy arguments. (#74370)
Changed semantic check from giving error to giving a warning about deprecation from OpenMP 5.2 and later about checks for dummy argument list-items present on IS_DEVICE_PTR clause. This P is blocker for https://github.com/llvm/llvm-project/pull/71255
This commit is contained in:
committed by
GitHub
parent
3c6efe5fdb
commit
decf0277a7
@@ -2996,11 +2996,14 @@ void OmpStructureChecker::Enter(const parser::OmpClause::IsDevicePtr &x) {
|
||||
source.ToString());
|
||||
} else if (!(IsDummy(*symbol))) {
|
||||
context_.Say(itr->second->source,
|
||||
"Variable '%s' in IS_DEVICE_PTR clause must be a dummy argument"_err_en_US,
|
||||
"Variable '%s' in IS_DEVICE_PTR clause must be a dummy argument. "
|
||||
"This semantic check is deprecated from OpenMP 5.2 and later."_warn_en_US,
|
||||
source.ToString());
|
||||
} else if (IsAllocatableOrPointer(*symbol) || IsValue(*symbol)) {
|
||||
context_.Say(itr->second->source,
|
||||
"Variable '%s' in IS_DEVICE_PTR clause must be a dummy argument that does not have the ALLOCATABLE, POINTER or VALUE attribute."_err_en_US,
|
||||
"Variable '%s' in IS_DEVICE_PTR clause must be a dummy argument "
|
||||
"that does not have the ALLOCATABLE, POINTER or VALUE attribute. "
|
||||
"This semantic check is deprecated from OpenMP 5.2 and later."_warn_en_US,
|
||||
source.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,19 +39,19 @@ subroutine bar(b1, b2, b3)
|
||||
type(c_ptr), pointer :: b2
|
||||
type(c_ptr), value :: b3
|
||||
|
||||
!ERROR: Variable 'c' in IS_DEVICE_PTR clause must be a dummy argument
|
||||
!WARNING: Variable 'c' in IS_DEVICE_PTR clause must be a dummy argument. This semantic check is deprecated from OpenMP 5.2 and later.
|
||||
!$omp target is_device_ptr(c)
|
||||
y = y + 1
|
||||
!$omp end target
|
||||
!ERROR: Variable 'b1' in IS_DEVICE_PTR clause must be a dummy argument that does not have the ALLOCATABLE, POINTER or VALUE attribute.
|
||||
!WARNING: Variable 'b1' in IS_DEVICE_PTR clause must be a dummy argument that does not have the ALLOCATABLE, POINTER or VALUE attribute. This semantic check is deprecated from OpenMP 5.2 and later.
|
||||
!$omp target is_device_ptr(b1)
|
||||
y = y + 1
|
||||
!$omp end target
|
||||
!ERROR: Variable 'b2' in IS_DEVICE_PTR clause must be a dummy argument that does not have the ALLOCATABLE, POINTER or VALUE attribute.
|
||||
!WARNING: Variable 'b2' in IS_DEVICE_PTR clause must be a dummy argument that does not have the ALLOCATABLE, POINTER or VALUE attribute. This semantic check is deprecated from OpenMP 5.2 and later.
|
||||
!$omp target is_device_ptr(b2)
|
||||
y = y + 1
|
||||
!$omp end target
|
||||
!ERROR: Variable 'b3' in IS_DEVICE_PTR clause must be a dummy argument that does not have the ALLOCATABLE, POINTER or VALUE attribute.
|
||||
!WARNING: Variable 'b3' in IS_DEVICE_PTR clause must be a dummy argument that does not have the ALLOCATABLE, POINTER or VALUE attribute. This semantic check is deprecated from OpenMP 5.2 and later.
|
||||
!$omp target is_device_ptr(b3)
|
||||
y = y + 1
|
||||
!$omp end target
|
||||
|
||||
Reference in New Issue
Block a user