[flang-commits] [flang] [flang][OpenMP] Add semantics test: named COMMON + member with firstprivate+lastprivate is valid (PR #162234)
Krish Gupta via flang-commits
flang-commits at lists.llvm.org
Wed Oct 15 13:05:50 PDT 2025
https://github.com/KrxGu updated https://github.com/llvm/llvm-project/pull/162234
>From 346c4c0c203bdcbdd26861fec467436c28cf3e3e Mon Sep 17 00:00:00 2001
From: Krish Gupta <krishgupta at Krishs-MacBook-Air.local>
Date: Tue, 7 Oct 2025 12:55:14 +0530
Subject: [PATCH] [flang][OpenMP] Add test: named COMMON + member with
firstprivate+lastprivate is valid
Gate test to OpenMP 5.1+ and add explanatory comment per review feedback.
---
.../Semantics/OpenMP/omp-common-fp-lp.f90 | 21 +++++++++++++++++++
1 file changed, 21 insertions(+)
create mode 100644 flang/test/Semantics/OpenMP/omp-common-fp-lp.f90
diff --git a/flang/test/Semantics/OpenMP/omp-common-fp-lp.f90 b/flang/test/Semantics/OpenMP/omp-common-fp-lp.f90
new file mode 100644
index 0000000000000..2ce3c348b35ad
--- /dev/null
+++ b/flang/test/Semantics/OpenMP/omp-common-fp-lp.f90
@@ -0,0 +1,21 @@
+! RUN: %flang_fc1 -fopenmp -fopenmp-version=51 -Wno-experimental-option -fsyntax-only %s 2>&1 | FileCheck %s --allow-empty
+! CHECK-NOT: error:
+! CHECK-NOT: warning:
+
+! Regression test for issue #162033.
+! Verify that a named COMMON block can appear in a data-sharing clause together
+! with one of its members in another clause on the same construct. This is valid
+! in OpenMP >= 5.1 because:
+! - A named COMMON in a clause is equivalent to listing all its explicit members
+! - A list item may appear in both FIRSTPRIVATE and LASTPRIVATE on the same directive
+! OpenMP 5.0 explicitly forbade this combination.
+
+subroutine sub1()
+ common /com/ j
+ j = 10
+!$omp parallel do firstprivate(j) lastprivate(/com/)
+ do i = 1, 10
+ j = j + 1
+ end do
+!$omp end parallel do
+end
More information about the flang-commits
mailing list