}
}
+ for (auto *ps : privatizedSymbols) {
+ if (ps->has<Fortran::semantics::CommonBlockDetails>())
+ TODO(converter.getCurrentLocation(),
+ "Common Block in privatization clause");
+ }
+
if (hasCollapse && hasLastPrivateOp)
TODO(converter.getCurrentLocation(), "Collapse clause with lastprivate");
}
--- /dev/null
+! RUN: %not_todo_cmd bbc -emit-fir -fopenmp -o - %s 2>&1 | FileCheck %s
+! RUN: %not_todo_cmd %flang_fc1 -emit-fir -fopenmp -o - %s 2>&1 | FileCheck %s
+
+! CHECK: not yet implemented: Common Block in privatization clause
+subroutine firstprivate_common
+ common /c/ x, y
+ real x, y
+ !$omp parallel firstprivate(/c/)
+ !$omp end parallel
+end subroutine
--- /dev/null
+! RUN: %not_todo_cmd bbc -emit-fir -fopenmp -o - %s 2>&1 | FileCheck %s
+! RUN: %not_todo_cmd %flang_fc1 -emit-fir -fopenmp -o - %s 2>&1 | FileCheck %s
+
+! CHECK: not yet implemented: Common Block in privatization clause
+subroutine lastprivate_common
+ common /c/ x, y
+ real x, y
+ !$omp do lastprivate(/c/)
+ do i=1,100
+ end do
+ !$omp end do
+end subroutine
--- /dev/null
+! RUN: %not_todo_cmd bbc -emit-fir -fopenmp -o - %s 2>&1 | FileCheck %s
+! RUN: %not_todo_cmd %flang_fc1 -emit-fir -fopenmp -o - %s 2>&1 | FileCheck %s
+
+! CHECK: not yet implemented: Common Block in privatization clause
+subroutine private_common
+ common /c/ x, y
+ real x, y
+ !$omp parallel private(/c/)
+ !$omp end parallel
+end subroutine