[all-commits] [llvm/llvm-project] a2693d: [clang][OpenMP] 6.0: detect privatization of array...
David Pagan via All-commits
all-commits at lists.llvm.org
Wed Sep 3 08:13:32 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: a2693dc192366372da4170c82d1b0719066ded95
https://github.com/llvm/llvm-project/commit/a2693dc192366372da4170c82d1b0719066ded95
Author: David Pagan <dave.pagan at amd.com>
Date: 2025-09-03 (Wed, 03 Sep 2025)
Changed paths:
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaOpenMP.cpp
M clang/test/OpenMP/scan_messages.cpp
M clang/test/OpenMP/target_data_use_device_addr_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_messages.cpp
M clang/test/OpenMP/task_in_reduction_message.cpp
M clang/test/OpenMP/taskgroup_task_reduction_messages.cpp
M clang/test/OpenMP/teams_reduction_messages.cpp
Log Message:
-----------
[clang][OpenMP] 6.0: detect privatization of array section/assumed-size array (#152786)
According to the OpenMP 6.0 specification, array sections with no length
and unknown size are considered assumed-size arrays. As of pull request
https://github.com/llvm/llvm-project/pull/148048
these types of array sections are allowed and can be specified in
clauses that allow array sections as list items. However, only two
clauses explicitly allow array sections that are assumed-size arrays:
- 'map' and 'use_device_addr'.
The other clauses that accept array sections do not explicitly accept
assumed-size arrays:
- inclusive, exclusive, has_device_addr, in_reduction, task_reduction,
reduction These cases should generate an error. See OpenMP 6.0
specification section 7.4 List Item Privatization, Restrictions, p. 222,
L15
Assumed-size arrays must not be privatized
For OpenMP 6.0, function getPrivateItem() now checks for array section
list items that are assumed-size arrays and generates an error if they
are not allowed for the clause.
Testing
- Updated LIT tests for assumed-size array sections to ensure these
clauses generate an error: inclusive, exclusive, has_device_addr,
in_reduction, task_reduction, reduction and that this clause is accepted
(codegen test): use_device_addr
- check-all
- OpenMP_VV (sollve_vv)
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