[all-commits] [llvm/llvm-project] e73ec1: [Flang][OpenMP] Add some semantic checks for Linea...
Thirumalai Shaktivel via All-commits
all-commits at lists.llvm.org
Fri Dec 6 10:12:09 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: e73ec1a74af3a390af5a77dea64022019a2a5686
https://github.com/llvm/llvm-project/commit/e73ec1a74af3a390af5a77dea64022019a2a5686
Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
Date: 2024-12-06 (Fri, 06 Dec 2024)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/test/Examples/omp-declarative-directive.f90
M flang/test/Semantics/OpenMP/declarative-directive01.f90
A flang/test/Semantics/OpenMP/linear-clause01.f90
Log Message:
-----------
[Flang][OpenMP] Add some semantic checks for Linear clause (#111354)
This PR adds all the missing semantics for the Linear clause based on
the OpenMP 5.2 restrictions. The restriction details are mentioned
below.
OpenMP 5.2:
5.4.6 linear Clause restrictions
- A linear-modifier may be specified as ref or uval only on a declare
simd directive.
- If linear-modifier is not ref, all list items must be of type integer.
- If linear-modifier is ref or uval, all list items must be dummy
arguments without the VALUE attribute.
- List items must not be Cray pointers or variables that have the
POINTER attribute. Cray pointer support has been deprecated.
- If linear-modifier is ref, list items must be polymorphic variables,
assumed-shape arrays, or variables with the ALLOCATABLE attribute.
- A common block name must not appear in a linear clause.
- The list-item cannot appear more than once
4.4.4 ordered Clause restriction
- If n is explicitly specified, a linear clause must not be specified on
the same directive.
5.11 aligned Clause restriction
- Each list item must have C_PTR or Cray pointer type or have the
POINTER or ALLOCATABLE attribute. Cray pointer support has been
deprecated.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list